Lost Information!

엑셀 VBA 기초 - 리스트박스에서 다중 선택하여 다운로드하기 - 1편 본문

개인브랜드블로그를 만들어 보자/엑셀VBA

엑셀 VBA 기초 - 리스트박스에서 다중 선택하여 다운로드하기 - 1편

Lostinformation 2021. 1. 8. 16:03

모두가 칼퇴하는 그날까지~

 

지난 글에서는

고급 필터를 

VBA로 쉽게 제작하는

방법에 대해 

알려드렸습니다.

 

만일 저번 내용을 모르시거나

기억이 나질 않으신다면

밑에 글을 참고해주세요.

red-s.tistory.com/2484

 

엑셀 VBA 기초 - 고급필터를 VBA로 사용하세요~

모두가 칼퇴하는 그날까지~ 지난 글에서는 매크로 기록기를 활용하여 VBA를 작성하는 방법에 대해 알려드렸습니다. 만일 저번 내용을 모르시거나 기억이 나질 않으신다면 밑에 글을 참고해주

red-s.tistory.com

 

이번 글에서는 리스트 박스의

데이터중에서 필요한 데이터만

다운로드할 수 있는 방법

알려드리도록 하겠습니다.

 

그럼 엑셀을 실행해주세요~

 

 

먼저 이런 형태의 리스트 박스를

만들어주시면 됩니다.

 

혹여나 리스트 박스를 만드는 

방법에 대해 모르신다면

제 지난 글을 참고해주시고요.

 

이렇게 리스트 박스를 만들면

항상 선택할 때 다중 선택이 

되지 않아서 불편하다고 

말씀하시는 분들이 계신데요.

 

먼저 다중 선택을 하기 위해서는

코드를 사용하지 않고 

속성 창을 수정해주시면 됩니다.

 

 

먼저 리스트 박스를

클릭해주시고 MulitiSelect

2-fmMultiSelectExtended

변경해주셔야 합니다.

 

일반적으로는 Single로

되어있는 경우가 많으며

Extended가 아닌 Multi의

경우에는 클릭만으로 

선택이 가능하기에 불편하여

잘 사용하지 않습니다.

 

이렇게 MultiExtended를

선택하시게 되면 일반적으로

윈도에서 파일을 다중 선택

할 때 사용하는 SHIFT버튼 또는

CTRL버튼을 활용하거나 

드래그를 통해 원하는 파일을

한 번에 선택할 수 있습니다.

 

 

그럼 이제 전체 선택 버튼부터

매크로를 작성해보겠습니다.

 

이렇게 작성해주시면 됩니다.

 

바로 설명해드리면

 

Private Sub CommandButton2_Click()

 

Dim i As Long

I라는 변수를

설정할게(숫자변수)


For i = 0 To Me.ListBox1.ListCount - 1

For문을 통해 

0부터 리스트 박스 안의

리스트 개수만큼

순환시킬 거야

(리스트 가장 처음이 0으로

시작하기 때문에 -1을 해줘야

정상적인 개수의 숫자입니다.)

 

Me.ListBox1.Selected(i) = True

리스트 안의 데이터를

선택한다면 TRUE야 

(FALSE로 하면 선택 해제

하라는 구문이 됩니다)

 

Next i
End Sub

 

 

그래서 선택 해제의 매크로는

전체 선택과 비슷하지만 마지막만

FALSE로 적어주시면 됩니다.

 

Private Sub CommandButton4_Click()
Dim i As Long
For i = 0 To Me.ListBox1.ListCount - 1
Me.ListBox1.Selected(i) = False
Next i
End Sub

 

바로 이렇게요

 

같은 내 용인만큼 설명은 

하지 않겠습니다.

 

그리고 확인해보면

 

버튼 하나로 전체 선택 또는

선택 해제가 되는 것을

확인할 수 있습니다~

 

여기까지는 크게 어렵지

않을 거라 생각하는데요.

 

꼭 한번 따라 해 보시고 

다음 글에서는 선택한

데이터를 다운로드 

하는 방법에 대해

알려드리겠습니다.

 

그럼 여기까지 궁금하신 점은

댓글에 남겨주시고 

공감 구독도 부탁드립니다.




Comments