[257회 라이브 공지] 이번 주 라이브는 `3/4(수) 오후 8시` 에 진행합니다! 오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴

엑셀 isListBoxSelected 함수 사용법 :: 리스트박스 선택여부 확인

리스트박스 안의 항목이 선택되었는지 여부를 확인하는 isListBoxSelected 사용자 지정함수의 사용법과 예제를 살펴봅니다.

작성자 :
오빠두엑셀
최종 수정일 : 2020. 05. 04. 21:22
URL 복사
메모 남기기 : (3)

엑셀 VBA :: 리스트박스 선택 여부 확인방법 총정리 

예제파일

예제파일 사용안내

예제파일은 매크로가 포함되어 있습니다. 예제파일 실행 후 '컨텐츠 포함' 버튼을 클릭하여 매크로를 활성화합니다.

매크로를 활성화하는 방법은 '예제파일 매크로 활성화 방법' 포스트를 참고해주세요.

요약

VBA 유저폼의 리스트박스에서 값이 선택되었는지 여부를 확인합니다.

설명

for문을 통해 리스트박스의 첫번째 항목부터 마지막항목까지 선택여부를 확인합니다.

리스트박스의 항목중 하나라도 선택되어 있으면, isListBoxSelected의 값을 True로 출력한 뒤 바로 For 문을 Exit 합니다. 만약 아무런 값도 선택되어있지 않을 경우, isListBoxSelected 값을 'False'로 출력합니다.

If isListBoxSelected(me.Listbox1) = False then msgBox "아무런 값도 선택되지 않았습니다." : Exit Sub
VBA 리스트박스 값 선택여부 GIF
리스트박스에서 항목이 선택되어있는지 여부를 확인합니다.

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
댓글 3
4.5 (2개 평가)
신동준
신동준 2020.03.11 17:24
잘 보고 있습니다. 영상으로 선생님의 강의 중에 시트를 병합하는 내용을 보고 있는데, 동일하게 코딩했습니다. 그런데, If isListBoxSelected(Me.lstsheet) = False Then MsgBox "시트를 선택하세요.": Exit Sub 에서 계속 오류가 발생하면서, 컴파일 오류 sub 또는 Function 이 정의되지 않았습니다 라는 메시지가 뜹니다. 영상에서는 이 부분에 대한 변수 지정은 없었던 것 같은데.. 어디에서 문제가 있는지 알려 주시면 감사하겠습니다.
오빠두엑셀
오빠두엑셀 작성자 2020.03.12 17:34
isListBoxSelected 라는 함수를 같이 넣어주셔야 힙니다 ^^ 해당 포스트의 VBA 전문을 복사해서 아래에 붙여넣기 하신 뒤 다시 실행해보시겠어요? 바로 해결되실겁니다 ^^ 감사합니다.
강민준🤗
강민준🤗 2024.08.11 12:35
좋은 자료 감사합니다.🙇‍♂️