Lost Information!

엑셀 VBA 기초 - UserForm을 활용하여 입력과 조회하기 - 2편 본문

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

엑셀 VBA 기초 - UserForm을 활용하여 입력과 조회하기 - 2편

Lostinformation 2020. 12. 7. 18:47

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

 

지난 글에서는 

UserForm을 만드는 방법과

설정하는 방법에 대해

알려드렸는데요.

 

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

기억이 나질 않으신다면

밑에 글을 참고해주세요.

red-s.tistory.com/2459

 

엑셀 VBA 기초 - UserForm을 활용하여 입력과 조회하기 - 1편

모두가 칼퇴하는 그날까지~ 지난 글에서는 Application.InputBox 을 활용하는 방법과 만드는 방법에 대해 알려드렸는데요. 만일 저번 내용을 모르시거나 기억이 나질 않으신다면 밑에 글을 참고해

red-s.tistory.com

 

이번 글에서는 이어서 

진행하면서 매크로를

만드는 방법까지 

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

 

그럼 이런 형태의

UserForm을 통해

데이터를 입력하기 위한

매크로를 작성하기 위해

 

ALT + F11버튼을 

눌러주세요~

 

이후 저번 글에 만들었던

UserForm 창을

더블클릭해주세요.

 

 

먼저 이렇게

적어주시면 됩니다.

 

일단 가장 밑에 부분부터

설명드리면

 

Private Sub UserForm_Initialize()

유저 폼이 열릴 때

무언가 세팅할게

 

Me.ComboBox1.List = Array("남", "여")

유저 폼의 캄보 박스 1에

남과 여라는 리스트를

만들어줘

 

End Sub

 

(상단의 UserForm 옆쪽에

Initialize를 선택해서 

해당 매트로를 만들 수 있습니다.)

 

 

또한 캄보 상자를 선택하신 후에

왼쪽 하단에서 Style를 

수정하여야 합니다.

 

2- fmStyleDropDownList

선택하셔야만 남과 여의 목록에서

선택하게 만들 수 있습니다.

 

 

그다음 이렇게 

작성해주시면 됩니다.

 

바로 설명해드리면

 

Option Explicit

Private Sub CommandButton1_Click()

(먼저 유저 폼을 더블클릭해서

들어오게 되시면 해당

태그가 이미 생성되어 있습니다.)

  
Dim lngR        As Long

lngR이라는 숫자 타입의

변수를 설정할게

    
lngR = Range("D65536"). End(xlUp). Row + 1

lnR은 마지막행부터

올라오면서 마지막행 번호를

찾아줘 그리고 숫자 1을 더해

(마지막행 다음부터 데이터를

입력하기 위해 1을 더합니다.)
    
Range("C" & lngR) = "=row()-2"

C열의 입력할 행에는

row()-2 해당 값을 넣어주고

 

Range("D" & lngR) = Me.TextBox1

D열의 입력할 행에는

유저 폼의 첫 번째 텍스트 상자

데이터 값을 넣는다.

 

Range("E" & lngR) = Me.ComboBox1

E열의 입력할 행에는

유저 폼의 캄보 박스의 

데이터 값을 넣는다.


Range("F" & lngR) = Val(Me.TextBox3)

F열의 입력할 행에는

유저 폼의 세 번째 텍스트 상자의

숫자처럼 생긴 텍스트를

숫자로 변경하여 

데이터 값을 넣는다.

     
With Range("C" & lngR). Resize(1, 4)

C열의 입력할 행의

사이즈를 1행 4 열만큼 변경해

 

. Borders.LineStyle = 1

그리고 검은색으로

테두리 라인을 만들어

 

. HorizontalAlignment = xlCenter

그리고 안에 있는 

데이터 값을 가운데 정렬해


End With
    
Range("D" & lngR + 1). Select

그리고 그다음 입력될 셀을

선택하고


Application.CutCopyMode = False

깜박거리는 카피 모드를

해지한 후에
    
Unload UserForm1

UserForm창을 닫아줘
    
End Sub

 

실행하게 되면

 

이렇게 원하는 데이터 값을

유저폼으로 입력 가능합니다.

 

처음 나오는 매크로도 있지만

기존의 알려드렸던 매크로도

많은 만큼 어렵지 않게 

따라 하실 거라고 생각합니다.

 

그럼 다음 글에서는 

이렇게 입력한 데이터를

유저 폼을 활용하여

조회하는 방법까지 알려드리겠습니다.

 

여기까지 궁금하신 점은

댓글에 남겨주시고

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

Comments