Lost Information!

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

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

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

Lostinformation 2021. 1. 11. 22:29

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

 

지난 글에서는

리스트 박스에서 

다중 선택하는 방법을

알려드렸습니다.

 

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

기억이 나질 않으신다면

밑에 글을 참고해주세요.

red-s.tistory.com/2486

 

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

모두가 칼퇴하는 그날까지~ 지난 글에서는 고급 필터를 VBA로 쉽게 제작하는 방법에 대해 알려드렸습니다. 만일 저번 내용을 모르시거나 기억이 나질 않으신다면 밑에 글을 참고해주세요. red-s

red-s.tistory.com

이번 글에서는

선택한 데이터를

다운로드하는 방법을

알려드리겠습니다.

 

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

 

리스트 박스에서 이렇게 

원하는 데이터를 먼저 

선택해주시고 해당 데이터를

이제 다운로드하여 

원하는 곳으로 붙여 넣기 

하려고 합니다.

 

그럼 ALT +F11을 눌러주시고

유저 폼에서 선택 데이터

다운로드 창을 더블클릭해주세요.

 

그다음 이렇게 

적어주시면 됩니다.

 

바로 설명해드리면

 

Private Sub CommandButton1_Click()

선택 데이터 다운로드

버튼을 클릭하게 되면

    
Dim i           As Long
Dim lngTemp     As Long

i와 lngTemp라는

변수를 설정할게

 

Range("J5:N65536"). Clear

J5부터 맨 밑에 행까지 

데이터가 있다면 지워줘

(초기화하기 위한 구문으로

currentRegion.offset(1,0). clear을

적어주셔도 됩니다.)

 

lngTemp = 4

4행부터 데이터를 넣어줘

(lngTemp변수는 데이터를

입력할 시트의 행 번호입니다

즉 4 로시 작해서 1씩 증가하면서

한 행씩 데이터를 입력합니다.)

 
For i = 0 To ListBox1.ListCount - 1

그리고 마지막행까지 

전체 순환시켜줘

(리스트 박스 특성상 첫 행이

0으로 시작되기에 마지막행에

-1을 해줘야 합니다.)

 

If Me.ListBox1.Selected(i) Then

리스트 박스에 원하는 

데이터를 선택한다면 


lngTemp = lngTemp + 1

With Me.ListBox1

리스트 박스 안에

데이터 값을 +1을 더해가며

데이터를 기록해줘

 

Range("J" & lngTemp) =. List(i, 0)

그리고 리스트 박스에 

i행 0열에 있는 값을

J행에 순서대로 넣어줘

 

Range("K" & lngTemp) =. List(i, 1)

그리고 리스트 박스에

i행 1열에 있는 값을

K행에 순서대로 넣어줘


Range("L" & lngTemp) =. List(i, 2)

그리고 리스트 박스에

i행 2열에 있는 값을

L행에 순서대로 넣어줘


Range("M" & lngTemp) =. List(i, 3)

그리고 리스트 박스에

i행 3열에 있는 값을

M행에 순서대로 넣어줘


Range("N" & lngTemp) =. List(i, 4)

그리고 리스트 박스에

i행 4열에 있는 값을

N행에 순서대로 넣어줘


End With
End If

Next i
    
Range("B5:F5"). Copy

B5부터 F5까지 복사해


Range("J5:N" & lngTemp). PasteSpecial xlPasteFormats

J5부터 N행 lngTemp열까지 

서식만 복사하도록 해


Range("J4"). Select

특정 셀을 선택 후에 
    
Unload UserForm1
유저 폼을 언로드 해     

   
End Sub

 

이렇게 적고 실행하게 되면

 

이렇게 원하는 데이터만

선택한다고 하더라도

 

이렇게 원하는 서식을

유지하면서도 데이터가 

취합되는 것을 확인할 수 

있습니다.

 

이번에 알려드릴 방법은

상당히 유용하게 사용하실 수 

있는 만큼 꼭 기억하시고

직접 한번 해보시는 것을

추천드립니다.

 

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

댓글에 남겨주시고 

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



Comments