이전 글에서 텍스트 상자(TextBox)에 대해 알아보았습니다. 이번에는 열거된 선택사항들 중에서 선택을 할 때 사용하는 확인란(CheckBox)과 옵션 단추(OptionButton)에 대해 알아보겠습니다.
엑셀 VBA 텍스트 상자(TextBox) 컨트롤 사용하기
1. 확인란(CheckBox)
여러 선택 사항들을 열거하고 필요한 사항을 선택하여 사용할 수 있습니다. 확인란(CheckBox) 컨트롤은 열거된 사항들 중에서 필요한 사항을 여러 개 선택이 가능합니다.
즉, 열거된 사항들 하나하나 개별적으로 동작한다는 의미입니다.
사용자 정의 폼의 도구 상자에서 확인란(CheckBox)은 [그림 1]에 빨간색 사각형으로 표시한 컨트롤입니다.
2. 옵션 단추(OptionButton)
옵션 단추(OptionButton) 컨트롤은 여러 선택 사항들을 열거하고 원하는 사항을 선택하여 사용할 수 있는데 확인란(CheckBox) 컨트롤과는 달리 하나의 사항만 선택할 수 있습니다.
그러므로, 옵션 단추 컨트롤을 사용할 때는 그룹별로 묶어서 관리를 해야합니다. 이렇게 그룹으로 묶어 사용할 때 프레임(Frame) 컨트롤을 사용합니다.
사용자 정의 폼의 도구 상자에서 옵션 단추(OptionButton)는 [그림 2]에 빨간색 사각형으로 표시한 컨트롤입니다.
3. 예제를 통해 확인
엑셀을 여시고 엑셀 시트에 ActiveX 컨트롤의 명령 단추 하나를 생성하고 VBE 창을 엽니다.
사용자 정의 폼을 하나 생성하고 [그림 3]과 같이 작성합니다.
프레임은 사용자 정의 폼의 도구 상자에서 선택 가능하며 속성의 Caption에 이름을 입력할 수 있습니다.
버튼 2개를 하단에 생성한 후 하나는 '확인'으로 나머지 하나는 '취소'로 명명합니다.
확인 버튼을 더블클릭하고 출력된 코드창에 다음과 같이 코드를 작성합니다.
Private Sub CommandButton1_Click()
Range("B2:I3").Value = ""
Range("B2").Value = "성명"
Range("C2").Value = "성별"
Range("D2").Value = "C / C++"
Range("E2").Value = "C#"
Range("F2").Value = "JAVA"
Range("G2").Value = "Visual Basic"
Range("H2").Value = "Python"
Range("I2").Value = "기타"
Range("B3").Value = TextBox1.Value
If OptionButton1.Value = True Then
Range("C3").Value = "남"
ElseIf OptionButton2.Value = True Then
Range("C3").Value = "여"
Else
MsgBox ("성별을 선택해 주세요.")
End If
If CheckBox1.Value = True Then
Range("D3").Value = "v"
End If
If CheckBox2.Value = True Then
Range("F3").Value = "v"
End If
If CheckBox3.Value = True Then
Range("H3").Value = "v"
End If
If CheckBox4.Value = True Then
Range("E3").Value = "v"
End If
If CheckBox5.Value = True Then
Range("G3").Value = "v"
End If
If CheckBox6.Value = True Then
Range("I3").Value = "v"
End If
Unload UserForm1
End Sub
위의 코드에서 옵션 단추에 대한 코드는 다음과 같이 코딩하였습니다.
If OptionButton1.Value = True Then
Range("C3").Value = "남"
: OptionButton1은 성별 프레임에서 '남' 앞에 있는 옵션 단추입니다. OptionButton1이 선택되면 값은 True가 되며 이때 C3 셀에 '남'이라고 입력하도록 코딩하였습니다.
ElseIf OptionButton2.Value = True Then
Range("C3").Value = "여"
: OptionButton2는 성별 프레임에서 '여' 앞에 있는 옵션 단추를 말하며 위의 OptionButton1과 동일한 동작을 합니다.
Else
MsgBox ("성별을 선택해 주세요.")
End If
: 옵션 단추를 아무것도 선택하지 않은 경우로 메시지 창이 출력되도록 코딩하였습니다.
확인란 컨트롤의 경우에는 개별적으로 동작하기 때문에 각각의 확인란 컨트롤의 값을 확인하는 If을 작성하였습니다.
다음 취소 버튼을 더블 클릭하고 다음 코드를 코드 창에 입력합니다.
Private Sub CommandButton2_Click()
UserForm1.Hide
End Sub
엑셀 시트에 생성한 버튼을 더블클릭하여 코드창을 열고 다음과 같이 코드를 작성합니다.
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
'엑셀 > VBA' 카테고리의 다른 글
엑셀 VBA ListBox 컨트롤 사용하기 (0) | 2022.01.13 |
---|---|
엑셀 VBA 목록 만들기 - ComboBox (1) | 2022.01.11 |
엑셀 VBA 텍스트 상자(TextBox) 컨트롤 사용하기 (0) | 2022.01.06 |
엑셀 VBA UserForm 만들기 및 화면에 출력하기 (0) | 2022.01.04 |
엑셀 VBA 파일 닫기 및 새로 만드는 메서드 - Close, Add (0) | 2021.12.31 |