안녕하세요, 이번 포스팅은 엑셀 매크로 VBA 목록상자 다중선택 엑셀 값 추가 방법 대해서 작성하도록 하겠습니다.
목록상자(ListBox)는 여러 항목을 선택하여 그 값을 기반으로 작업을 수행해야 할 때 활용을 하실 수 있습니다.
이런 목록상자를 매크로에서 어떻게 활용을 하실 수 있는지 자세히 알려 드리도록 하겠습니다.
목차
엑셀 매크로 VBA 목록상자
목록상자(ListBox)는 엑셀 VBA에서 사용자가 목록 중에서 선택할 수 있도록 하는 컨트롤입니다.
보통 목록상자는 하나의 항목만 선택할 수 있지만, 다중선택이 필요한 경우도 있습니다.
여러 항목을 선택하여 그 값을 기반으로 작업을 수행해야 할 때가 그러한 경우입니다.
먼저 목록상자를 추가하고 다중 선택을 가능하게 설정해야 합니다.
엑셀에서 개별적으로 엑셀 VBA에 활용하는 목록상자를 만다는 방법은 ‘개발도구’ 메뉴에서 ‘ActiveX 컨트롤’ 메뉴에서 선택해서 구현을 할 수 있습니다.

엑셀 매크로 VBA 다중 선택 활성화
목록상자를 다중 선택이 가능하도록 만들기 위해서는 몇 가지 설정을 해주어야 합니다.
우선 VBA 코드를 사용하여 목록상자의 MultiSelect 속성을 True로 설정해야 합니다.
1) 다중 선택 설정하기
다음은 목록상자의 다중 선택을 활성화하는 VBA 코드 예제입니다.
Sub ActivateMultiSelect()
With Sheet1.ListBox1
.MultiSelect = fmMultiSelectMulti
End With
End Sub
위의 코드에서 Sheet1은 목록상자가 있는 시트의 이름으로 변경해야 합니다.
또한 ListBox1은 목록상자의 이름에 따라 변경되어야 합니다.
필요에 따라 코드를 수정하여 해당하는 시트와 목록상자에 맞게 적용하십시오.
2) 다중 선택 사용하기
다중 선택이 활성화된 목록상자를 사용할 때는 사용자가 여러 항목을 선택할 수 있습니다.
이를 활용하여 선택된 항목들을 기반으로 작업을 수행할 수 있습니다.
예를 들어, 선택된 항목들을 엑셀 시트에 추가하는 등의 작업을 수행할 수 있습니다.
다음은 목록상자에서 선택된 항목들을 엑셀 시트에 추가하는 VBA 코드 예제입니다.
Sub AddSelectedItemsToSheet()
Dim i As Long
Dim selectedItem As Variant
With Sheet1.ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
selectedItem = .List(i)
Sheet1.Range("A" & Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row + 1).Value = selectedItem
End If
Next i
End With
End Sub
위의 코드에서 Sheet1은 목록상자가 있는 시트의 이름으로 변경해야 합니다.
또한 ListBox1은 목록상자의 이름에 따라 변경되어야 합니다.
선택된 항목들은 엑셀 시트의 A열에 추가됩니다.
엑셀에 값 추가 방법
이제 목록상자에서 다중 선택된 항목들을 엑셀 시트에 추가하는 방법에 대해 알아보겠습니다.
위에서 작성한 코드를 사용하여 선택된 항목들을 엑셀 시트에 추가할 수 있습니다.
1) 값 추가하기
선택된 항목들을 엑셀 시트에 추가하는 코드를 사용하여 목록상자에서 선택된 값들을 시트에 추가할 수 있습니다.
코드를 실행하면 선택된 항목들이 시트에 추가되며, 기존 데이터 아래에 새로운 데이터가 추가됩니다.
이제 위에서 작성한 두 가지 코드를 결합하여 목록상자에서 다중 선택된 항목들을 엑셀 시트에 추가하는 전체 코드를 작성해 보겠습니다.
Sub AddSelectedItemsToSheet()
Dim i As Long
Dim selectedItem As Variant
With Sheet1.ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
selectedItem = .List(i)
Sheet1.Range("A" & Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row + 1).Value = selectedItem
End If
Next i
End With
End Sub
위의 코드를 실행하면 목록상자에서 선택된 항목들이 엑셀 시트에 추가됩니다.
이를 통해 목록상자에서 다중 선택하여 엑셀에 값을 추가하는 방법을 쉽게 구현할 수 있습니다.
결론
이상입니다. 지금까지 엑셀 매크로 VBA 목록상자 다중선택 엑셀 값 추가 방법 대해서 포스팅을 작성을 하였습니다.
위에서 설명한 방법을 통해 엑셀 VBA를 사용하여 목록상자에서 다중 선택하여 엑셀에 값을 추가하는 방법에 대해 알아보았습니다.
목록상자의 다중 선택을 활성화하고 선택된 항목들을 시트에 추가하는 과정을 간단한 코드로 구현할 수 있습니다.
이를 통해 사용자는 엑셀 VBA를 활용하여 효율적으로 다중 선택된 항목들을 처리할 수 있으며, 엑셀 작업을 보다 효율적으로 수행할 수 있습니다.
더 많은 엑셀 VBA 를 배우면 반복 업무는 어느 정도는 해결이 되지 않을까 생각합니다.
제 포스팅이 조금이나마 반복 업무를 마무리하시는데 도움이 되셨으면 합니다. 감사합니다.









