프로젝트 및 실습/VBA

[VBA] 콤보박스에 리스트 직접 추가

jooona 2022. 4. 22. 21:35
반응형

이번 글에서는 VBA에서 콤보 박스를 사용할 때 리스트의 요소를 직접 추가하는 방법에 대해 알아보겠습니다.

 


우선 VBA에서 콤보 박스를 클릭하여 원하는 위치에 그려줍니다.

 


초기에는 리스트에 위와 같이 아무것도 들어가 있지 않은 상태입니다. 이제 리스트를 추가해보도록 하겠습니다.

 


우선 콤보 박스의 속성 창에서 콤보 박스의 이름을 확인해줍니다. 속성은 콤보 박스를 클릭하거나 콤보 박스에 우클릭을 해서 [속성] 탭을 누르면 좌측 하단에서 확인할 수 있습니다. 제 기준으로는 "ComboBox1"이라는 이름으로 자동 지정되어 있네요.

자 이제 코드로 넘어가서 콤보 박스에 리스트를 추가해보겠습니다.

 


위의 캡처에서 빨간 동그라미가 쳐져 있는 아이콘을 눌러 코드 편집 창으로 이동합니다. 그리고 아래의 코드를 작성해줍니다.

 

1
2
3
4
5
6
7
8
Private Sub UserForm_Initialize()
 
    Me.ComboBox1.AddItem "대한민국"
    Me.ComboBox1.AddItem "미국"
    Me.ComboBox1.AddItem "중국"
    Me.ComboBox1.AddItem "영국"
  
End Sub
cs


UserForm을 초기화하는 코드입니다. Me 개체는 현재 활성화되어있는 UserForm을 의미합니다.

따라서 Me.ComboBox1은 현재 활성화되어있는 UserForm에 "ComboBox1"이라는 이름을 가진 요소를 찾는 것입니다. 그리고 이렇게 찾은 ComboBox1에 자신이 원하는 요소를 넣어주면 됩니다. 저는 4개의 요소를 삽입할 것이고, 그래서 4번의 반복을 통해 대한민국, 미국, 중국, 영국이라는 요소들을 삽입해 주었습니다.

자 이제 실행을 해볼까요? 상단바에 재생 표시를 누르면 프로그램이 실행되게 됩니다.

 


원하던 요소들이 잘 들어갔네요.

위의 코드에서 반복되는 부분을 줄이고 싶다면 With 키워드를 사용하면 됩니다.

 

1
2
3
4
5
6
7
8
9
10
Private Sub UserForm_Initialize()
 
    With Me.ComboBox1
        .AddItem "대한민국"
        .AddItem "미국"
        .AddItem "중국"
        .AddItem "영국"
    End With
    
End Sub
cs


결과는 똑같이 나오는 것을 확인하실 수 있을 것입니다.

반응형