기초부터 실전까지 VBA 엑셀 28 - UserForm 콤보 박스 사용법

IT 관련 지식/VBA 공부|2019. 12. 28. 08:00
반응형
728x170

이번에는 콤보 박스를 사용하는 방법에 대해 말해보겠습니다.

 

콤보 박스는 아래와 같이 "클릭"을 하여 리스트를 선택할 수 있게 하는 상자를 말합니다.

 

콤보박스 사진

이럼 어떻게 리스트 안에 항목을 넣을 수 있는지 알아보겠습니다.

 


1. 양식 만들기

 

시작은 간단합니다.

 

먼저 아래와 같이 UserForm에서 콤보 박스를 만들고 UserForm이 나올 수 있게 설정해줍니다.

 

콤보박스 사진

 

혹시 UserForm을 모르시는 분은 아래의 링크를 참조하시길 바랍니다.

 

기초부터 실전까지 VBA 엑셀 25 - UserForm

 

기초부터 실전까지 VBA 엑셀 25 - UserForm

VBA 엑셀 25 - UserForm 드디어 UserForm을 배워볼 시간입니다. UserForm의 경우 VBA에서 제일 재밌는 부분중 하나입니다. 그 이유는 그래픽을 만들 수 있기 때문입니다. 여러분들이 버튼을 만들고 선택을 하고 입..

mmol.tistory.com

UserForm1.Show를 이용하여 사용자폼을 나타낼 수 있다면 다음 단계로 넘어갑니다.

 


2. 콤보 박스에 아이템 추가하기 - Additem 매소드

 

콤보 박스 안에 A, B, C 등급을 나눌 수 있게 

 

항목을 넣어보겠습니다.

 

먼저 사용자폼을 더블클릭합니다.

 

그럼 아래와 같은 화면이 나올거라고 생각합니다.

 

 

아래의 그럼에서 UserForm 옆부분에 Click이라는 것이 있을건데요.

 

이곳을 클릭하여 Initialize를 찾아서 클릭합니다.

 

그리고 Private Sub UserForm_Click이라고 된 부분은 전부 삭제하면 아래와 같은 그림이됩니다.

 

 

우리는 여기에 콤보박스에 대한 프로그래밍을 할 것입니다.

 

Initialize의 뜻은 처음 실행시 최초 1회만 실행한다는 의미입니다.

 

즉, 사용자폼을 사용할 때 우리가 원하는 설정을 지정하기 위한 장소입니다.

 

이 안에 다음과 같이 넣습니다.

 

Private Sub UserForm_Initialize()

    Me.ComboBox1.AddItem "A_Rank"
    Me.ComboBox1.AddItem "B_Rank"
    Me.ComboBox1.AddItem "C_Rank"
    
End Sub

 

그리고 이를 실행시켜봅니다.

 

 

보시는 바와같이 콤보 박스 안에 입력한 값이 들어간 것을 알 수 있습니다.

 

구문을 조금 해석해보면

 

Me : 현재 활성화된 사용자폼을 의미함

ComboBox1 : 콤보 박스의 오브젝트 네임을 의미

 

방금은 Additem 매소드를 사용했지만

300x250

 

행렬을 이용할 수 있는 List 매소드도 있습니다.

 


3. 콤보 박스에 아이템 추가하기 - List 매소드

 

이번에는 List 매소드를 이용해서 콤보 박스에 아이템을 추가해보겠습니다.

 

넣는 항목은 동일하며 다음과 같이 프로그래밍하면 됩니다.

 

Private Sub UserForm_Initialize()
    
    Dim aryComboBox(2) As String
    aryComboBox(0) = "A_Rank"
    aryComboBox(1) = "B_Rank"
    aryComboBox(2) = "C_Rank"
    Me.ComboBox1.List = aryComboBox
    
End Sub

 

aryComboBox라는 행렬변수를 만들고 그 안에 콤보박스 항목을 넣는 형태입니다.

 

그리고 마지막에 

 

Me.ComboBox1.List = aryComboBox 

 

로 항목 지정을 합니다.

 

이렇게 하면 많은 항목을 한번에 지정해야할 경우 사용하기 편합니다.

 


그럼 이것으로 콤보 박스에 대한 설명을 마칩니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀2 - 모듈 생성과 설정

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀3 - Sub, End Sub

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀4 - Range 사용법 및 특징

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀5 - 셀 지정법(Cells, Rows, Columns)

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀6 - Dim 변수선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀8 - 반복문 For

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀9 - 반복문 Do ~ Loop

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀10 - 마지막 행 얻기(End)

등등

 

사용자폼(UserForm)에 대한 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀 25 - UserForm

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀 26 - UserForm 명령단추

 

일본에서 이야기하는 한국뉴스!

[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구

[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지

 

직장인인데 일본에서 친구를 만들고 싶다고요? 👈Click!

 

반응형

댓글()

기초부터 실전까지 VBA 엑셀 27 - UserForm의 Label, TextBox

IT 관련 지식/VBA 공부|2019. 12. 2. 16:31
반응형
728x170

엑셀 27 - UserForm의 Label, TextBox

 

이번에는 UserForm에 글자를 새길 수 있는 Label

 

VBA의 TextBox처럼 입력을 받을 수 있는 TextBox를 사용하는 방법에 대해 알아보겠습니다.

 


1. UserForm에서 Label 생성

 

Label의 아이콘은 아래와 같습니다.

 

Label의 글자를 바꾸는 방법은 "속성"에서 

 

Caption 영역을 바꾸는 것입니다.

 

"Caption" 부분을 다음과 같이 바꿔보겠습니다.

 

이렇게 Label부분의 Caption을 바꾸어서 내용을 바꿀 수 있습니다.

 


300x250

2. UserForm에 TextBox 넣기

 

아래와 같은 아이콘을 클릭하여 텍스트 상자를 생성합니다.

 

그리고 이 텍스트 상자의 특성을 보면 Caption이 없습니다.

 

그 이유는 텍스트 상자에는 겉으로 보이는 이름이 없습니다.

 

그 대신 우리는 나중에 오브젝트 명을 사용할 것입니다.

(이 부분은 나중에 설명하겠습니다.)

 

또한 TextBox의 속성에서 다음과 같은 속성을 볼 수 있습니다.

 

Height : 높이
Width : 폭
MaxLength : 입력 할 수있는 최대 문자 수를 설정
TabIndex : 탭 순서에서 개체의 위치를 설정
IMEMode : 컨트롤이 포커스를 취득했을 때의 시스템 (IME)의 기본 실행시 모드를 설정

 

이 중에서 IMEMode에 대해 잠깐 설명하자면 

 

텍스트 상자를 클릭할 시 최초로 사용할 키보드를 의미합니다.

예를 들어 클릭시 자동으로 영문을 입력할 수 있게 키보드 셋팅을 할 수 있습니다.

 

fmIMEModeNoControl IME 모드를 변경하지 않습니다 (기본값).
fmIMEModeOn IME를 선택합니다.
fmIMEModeOff IME를 해제하여 영어 모드로합니다.
fmIMEModeDisable IME를 해제합니다. 이 모드로하면 사용자는 키 조작으로도 IME를 선택 할 수 없습니다.
fmIMEModeAlpha 영숫자 모드에서 IME를 선택합니다.

아래와 같이 UserForm을 만드신 후 실행해보시길 바랍니다.

 

 


오늘은 여기까지 하겠습니다. 

 

다음에는 텍스트 박스테 입력한 값을 셀에 넣는 방법에 대해 설명해보겠습니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀2 - 모듈 생성과 설정

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀3 - Sub, End Sub

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀4 - Range 사용법 및 특징

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀5 - 셀 지정법(Cells, Rows, Columns)

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀6 - Dim 변수선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀8 - 반복문 For

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀9 - 반복문 Do ~ Loop

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀10 - 마지막 행 얻기(End)

등등

 

사용자폼(UserForm)에 대한 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀 25 - UserForm

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀 26 - UserForm 명령단추

 

일본에서 이야기하는 한국뉴스!

[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구

[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지

 

직장인인데 일본에서 친구를 만들고 싶다고요? 👈Click!

반응형

댓글()

기초부터 실전까지 VBA 엑셀 26 - UserForm 명령단추

IT 관련 지식/VBA 공부|2019. 11. 27. 21:28
반응형
728x170

VBA 엑셀 26 - UserForm 명령단추

 

이번에는 UserForm에서 명령단추라는 기능에 대해 알아보겠습니다.

 

이전 강의 [IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀 25 - UserForm 에서 이어갈 예정이니 참고하시길 바랍니다.

 

일단 Userform 화면까지 띄웠다는 가정하에 진행하겠습니다.

 


1. 도구 상자

 

Userform을 띄웠다면 아래와 같은 도구 상자를 볼 수 있을겁니다.

 

이 도구 상자를 이용하여 우리는 Userform에 버튼, 체크박스, 선택박스 등을 만들 수 있습니다.

 

모든 도구를 다 다루지는 않고 중요한 것만 하니씩 가르쳐드리겠습니다.

 


2. VBA UserForm_명령 단추 사용

 

제일 기본적인 버튼에 대해 알아보겠습니다.

 

명령 단추라는 것은 아래와 같은 그림의 버튼입니다.

이제 이 버튼을 클릭하여 UserForm에 적당한 크기로 그려넣으시길 바랍니다.

 

그럼 아래의 화면과 같이 될겁니다.

 

 

 

이제 생성된 "CommnadButton""클릭"하여 "속성"을 보시길 바랍니다.

 

그리고 다음과 같이 바꿔주시기 바랍니다.

 

개체 이름 : btnCancel
Caption : 닫기

 

300x250

 

그럼 방금 만든 버튼이 아래와 같이 이름이 "변경"된 것을 확인할 수 있습니다.

 

 

이제 실제로 "닫기"버튼에 기능을 넣어보겠습니다.

 


3. VBA UserForm에 기능 넣기_Button

먼저 저 "닫기" 라고 지정한 버튼을 더블클릭합니다.

그럼 아래와 같은 화면으로 바뀌게 됩니다.

 

 

아까 위에서 지정한 개체 이름 : btnCancel 이라는 부분을 볼 수 있습니다.

 

"Private Sub btnCancel_Click()"라는 말은 "이 버튼을 클릭 했을 때~"라는 의미입니다.

 

그럼 이제 하단에 아래와 같은 구문을 넣어봅시다.

 

Private Sub btnCancel_Click()

    Unload Me

End Sub

 

Unload Me의 의미는 활성화된 UserForm을 종료해라는 의미입니다.

 

이제 모듈로 돌아와서 UserForm을 실행시킵니다.

 

UserForm이 아니라 반드시 모듈에서 실행시켜야됩니다!

Sub FormShow()
  UserForm1.Show
End Sub

그런 다음 F5를 눌러 VBA를 실행시키면 다음과 같은 화면이 나옵니다.

 

그리고 "닫기" 버튼을 누르면 UserForm이 사라집니다.

 


오늘은 여기까지입니다.

 

앞으로 당분간은 UserForm에 대해서만 글을 쓰겠습니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀 25 - UserForm

 

일본에서 이야기하는 한국뉴스!

[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구

[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지

 

직장인인데 일본에서 친구를 만들고 싶다고요? 👈Click!

반응형

댓글()

기초부터 실전까지 VBA 엑셀 25 - UserForm

IT 관련 지식/VBA 공부|2019. 11. 26. 22:09
반응형
728x170

VBA 엑셀 25 - UserForm

 

드디어 UserForm을 배워볼 시간입니다.

 

UserForm의 경우 VBA에서 제일 재밌는 부분중 하나입니다.

 

그 이유는 그래픽을 만들 수 있기 때문입니다.

 

여러분들이 버튼을 만들고 선택을 하고 입력을 할 수 있게 됩니다.

 


1. VBA - UserForm 시작

300x250

UserForm을 만드는 순서는 VBA에서 모듈을 만드는 순서와 크게 다르지 않습니다.

 

(혹시 VBA의 모듈을 생성하는 방법이 기억나지 않는 분은 아래의 링크를 참조해주세요!)

 

VBA 시작 준비

 

VBA 모듈 만들기

 

아래와 같이 모듈이 아닌 "사용자 정의 폼"을 클릭하시면됩니다.

 

그럼 다음과 같은 화면이 나오는데 이 화면이 나오면 성공입니다.

 

그리고 "모듈을 하나 만듭니다. "

 

 

 

 


2. 사용자 폼(UserForm) 표시하기

 

이번에는 VBA에서 명령어를 이용하여 방금 생성한 UserForm을 나타나게 해보겠습니다.

 

생성한 모듈에 다음과 같은 코드를 넣어주세요.

Sub FormShow()
  UserForm1.Show
End Sub

 

그럼 다음과 같은 화면이 나옵니다.

 

 

제목이 UserForm1이라고 나오는데 이것을 한번 바꿔보겠습니다.

 

다시 VBA 프로그래밍 창으로 들어갑니다.

 

 


3. UserForm 창의 제목 바꾸기

 

그리고 다시 UserForm을 클릭하신 다음 왼쪽 하단에 보면 아래와 같은 창이 보입니다.

 

여기서 

 

"Caption"

 

부분을 원하는 제목으로 바꾸면 UserForm의 제목이 바뀌게 됩니다.

 


더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox

 

일본에서 이야기하는 한국뉴스!

[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구

[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지

 

직장인인데 일본에서 친구를 만들고 싶다고요? 👈Click!

반응형

댓글()