엑셀 VBA :: 리스트박스 선택 여부 확인방법 총정리
예제파일 |
예제파일 사용안내
예제파일은 매크로가 포함되어 있습니다. 예제파일 실행 후 '컨텐츠 포함' 버튼을 클릭하여 매크로를 활성화합니다.
매크로를 활성화하는 방법은 '예제파일 매크로 활성화 방법' 포스트를 참고해주세요.
요약
VBA 유저폼의 리스트박스에서 값이 선택되었는지 여부를 확인합니다.
설명
for문을 통해 리스트박스의 첫번째 항목부터 마지막항목까지 선택여부를 확인합니다.
리스트박스의 항목중 하나라도 선택되어 있으면, isListBoxSelected의 값을 True로 출력한 뒤 바로 For 문을 Exit 합니다. 만약 아무런 값도 선택되어있지 않을 경우, isListBoxSelected 값을 'False'로 출력합니다.
If isListBoxSelected(me.Listbox1) = False then msgBox "아무런 값도 선택되지 않았습니다." : Exit Sub

VBA 코드
Function isListBoxSelected(ListBox As MSForms.ListBox) As Boolean Dim i As Long For i = 0 To ListBox.ListCount - 1 If ListBox.Selected(i) Then isListBoxSelected = True: Exit Function Next isListBoxSelected = False End Function
세부내용
1. For문으로 리스트박스의 각 항목 선택여부를 확인
For문을 통해 리스트박스의 첫번째 항목(id = 0) 부터 맨 마지막항목(id = 항목개수 -1)까지 Selected 여부를 확인합니다. Listbox.Selected() 속성을 활용하면 해당 순번에 위치하는 항목의 선택여부를 True와 False로 확인할 수 있습니다.
마이크로소프트 ListBox Property 예제 보러가기
For i = 0 To ListBox.ListCount - 1
If ListBox.Selected(i) Then isListBoxSelected = True: Exit Function
Next
If ListBox.Selected(i) Then isListBoxSelected = True: Exit Function
Next