반응형
안녕하세요 춤추는초코칩입니다.
엑셀 함수 마법사 창을 보면, 함수 선택이란 부분이 있습니다.
사용자 정의 폼(유저 폼)에서 리스트박스(목록상자)을 활용해서 만들어 보겠습니다.
1. 리스트박스(목록상자) 추가
삽입에서 사용자 정의 폼을 추가합니다.
사용자 정의 폼에서 목록 상자를 추가합니다.
추가된 목록 상자는 아래처럼 보이게 될 겁니다.
2. 목록 추가
목록 추가는 사용자 정의 폼의 초기화 이벤트 프로시저를 설정해야 합니다.
사용자 정의 폼의 Initailize 이벤트를 선택합니다.
이제 Additem이나 List를 사용해서 항목을 추가해보겠습니다.
2-1. AddItem
AddItem은 아이템 하나하나를 추가하는 방법입니다. 아래와 같이 코드를 작성하면,
Private Sub UserForm_Initialize()
ListBox1.AddItem "ABS"
ListBox1.AddItem "ACCRINT"
ListBox1.AddItem "ACCRINTM"
ListBox1.AddItem "ACOS"
ListBox1.AddItem "ACOSH"
ListBox1.AddItem "ACOT"
ListBox1.AddItem "ACOTH"
ListBox1.AddItem "ADDRESS"
End Sub
추가된 항목이 조회되는 것을 확인할 수 있습니다.
2-2. List
List는 여러 아이템을 하나의 배열 변수로 만들고, 해당 변수를 List에 할당하는 방법입니다.
아래와 같은 코드를 작성하면, 위 예제와 같은 결과를 얻을 수 있습니다.
Private Sub UserForm_Initialize()
Dim arrayListBox(8) As String
arrayListBox(0) = "ABS"
arrayListBox(1) = "ACCRINT"
arrayListBox(2) = "ACCRINTM"
arrayListBox(3) = "ACOS"
arrayListBox(4) = "ACOSH"
arrayListBox(5) = "ACOT"
arrayListBox(6) = "ACOTH"
arrayListBox(7) = "ADDRESS"
Me.ListBox1.List = arrayListBox
End Sub
3. 초기값 설정. ListIndex
ListIndex는 리스트박스가 가지고 있는 항목 중 하나를 미리 선택합니다.
첫 번째 값은 0부터 시작하니 전체 항목 개수의 -1까지 움직입니다.
함수 마법사와 동일하게 "ABS"를 선택해 보겠습니다.
Private Sub UserForm_Initialize()
Dim arrayListBox(8) As String
arrayListBox(0) = "ABS"
arrayListBox(1) = "ACCRINT"
arrayListBox(2) = "ACCRINTM"
arrayListBox(3) = "ACOS"
arrayListBox(4) = "ACOSH"
arrayListBox(5) = "ACOT"
arrayListBox(6) = "ACOTH"
arrayListBox(7) = "ADDRESS"
Me.ListBox1.List = arrayListBox
Me.ListBox1.ListIndex = 0
End Sub
위와 같이 ListIndex 속성을 0으로 설정하면, 사용자 정의 폼 실행 시 "ABS"가 선택되어 있는 것을 확인할 수 있습니다.
반응형
'엑셀VBA' 카테고리의 다른 글
[엑셀VBA] 사용자 정의 폼 사용 시, 시트 활성화 모달리스 modaless (0) | 2022.11.28 |
---|---|
[엑셀VBA] 체크박스(확인란) 사용하기 Checkbox (0) | 2022.11.27 |
[엑셀VBA] 콤보박스에 항목(목록) 추가하기 Combobox (0) | 2022.11.25 |
[엑셀VBA] 셀 삭제하기 clear, delete (0) | 2022.11.24 |
[엑셀VBA] select, activate 시트 이동하기 (0) | 2022.11.02 |