Excel에서 그룹 내 하나의 체크박스만 선택되도록 허용하려면 어떻게 해야 합니까?
아래 스크린샷에 표시된 바와 같이, 행 2에 나열된 체크박스 그룹에서 하나의 체크박스를 선택하거나 체크하면 다른 모든 체크박스가 자동으로 비활성화됩니다. 이를 어떻게 달성할 수 있을까요? 이 문서의 VBA 코드가 도움이 될 수 있습니다.
VBA 코드로 하나의 체크박스만 선택 가능하게 만들기
아래 VBA 코드를 실행하여 체크박스 그룹에서 한 번에 하나의 체크박스만 선택할 수 있습니다. 아래 단계를 따르세요.
1. 먼저 필요에 따라 체크박스를 삽입하세요. 여기서는 다음 스크린샷에 표시된 대로 ActiveX 컨트롤 체크박스를 삽입해야 합니다:
2. 그런 다음 Alt + F11 키를 동시에 눌러 Microsoft Visual Basic for Applications 창을 엽니다.
3. 열린 Microsoft Visual Basic for Applications 창에서 삽입 > 클래스 모듈을 클릭합니다.
4. 속성 창의 (이름) 상자에서 클래스 이름을 ClsChk로 변경하고, 아래 VBA 코드를 해당 코드 창에 복사하여 붙여넣습니다. 스크린샷 참조:
VBA 코드 1: 한 번에 하나의 체크박스만 선택하기
Option Explicit
Public WithEvents Chk As MSForms.CheckBox
Private Sub Chk_Click()
Call SelOneCheckBox(Chk)
End Sub
Sub SelOneCheckBox(Target As Object)
Dim xObj As Object
Dim I As String
Dim n As Integer
If Target.Object.Value = True Then
I = Right(Target.Name, Len(Target.Name) - 8)
For n = 1 To ActiveSheet.OLEObjects.Count
If n <> Int(I) Then
Set xObj = ActiveSheet.OLEObjects.Item(n)
xObj.Object.Value = False
xObj.Object.Enabled = False
End If
Next
Else
I = Right(Target.Name, Len(Target.Name) - 8)
For n = 1 To ActiveSheet.OLEObjects.Count
If n <> Int(I) Then
Set xObj = ActiveSheet.OLEObjects.Item(n)
xObj.Object.Enabled = True
End If
Next
End If
End Sub
5. 이제 삽입 > 모듈을 클릭한 후 아래 VBA 코드를 모듈 창에 복사하여 붙여넣습니다.
VBA 코드 2: 한 번에 하나의 체크박스만 선택하기
Dim xCollection As New Collection
Public Sub ClsChk_Init()
Dim xSht As Worksheet
Dim xObj As Object
Dim xChk As ClsChk
Set xSht = ActiveSheet
Set xCollection = Nothing
For Each xObj In xSht.OLEObjects
If xObj.Name Like "CheckBox**" Then
Set xChk = New ClsChk
Set xChk.Chk = CallByName(xSht, xObj.Name, VbGet)
xCollection.Add xChk
End If
Next
Set xChk = Nothing
End Sub
6. F5 키를 눌러 코드를 실행합니다.
이제부터 워크시트에서 체크박스 중 하나를 체크하면 다른 모든 체크박스가 자동으로 비활성화되며, 체크를 해제하여 모든 체크박스를 다시 활성화할 수 있습니다.
참고: 새로운 체크박스가 체크박스 그룹에 추가되면 모든 체크박스를 다시 활성화하기 위해 VBA 코드를 다시 실행해야 합니다. 체크박스 그룹에서 체크박스를 삭제하는 경우에도 코드를 다시 실행해야 합니다.
관련 기사:
- Excel에서 체크박스를 기준으로 데이터를 필터링하려면 어떻게 해야 합니까?
- Excel에서 행이 숨겨질 때 체크박스를 숨기려면 어떻게 해야 합니까?
- Excel에서 체크박스로 셀 또는 행을 강조하려면 어떻게 해야 합니까?
- Excel에서 여러 체크박스가 포함된 드롭다운 목록을 생성하려면 어떻게 해야 합니까?
- Excel에서 체크박스를 선택했을 때 날짜 스탬프를 셀에 삽입하려면 어떻게 해야 합니까?
최고의 오피스 생산성 도구
? | Kutools AI Aide: 지능형 실행, 코드 생성, 사용자 정의 수식 작성, 데이터 분석 및 차트 생성, Kutools 함수 호출을 기반으로 데이터 분석 혁신… |
인기 기능: 중복 찾기, 강조 또는 식별 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 결합 | 수식 없이 반올림 ... | |
슈퍼 LOOKUP: 다중 조건 VLookup | 다중 값 VLookup | 다중 시트 조회 | 퍼지 매치 .... | |
고급 드롭다운 목록: 빠르게 드롭다운 목록 만들기 | 종속 드롭다운 목록 | 다중 선택 드롭다운 목록 .... | |
열 관리자: 특정 개수의 열 추가 | 열 이동 | 숨겨진 열의 가시성 상태 전환 | 범위 및 열 비교 ... | |
주요 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 및 시트 관리자 | 자동 텍스트 라이브러리 (Auto Text) | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터 (굵은 글꼴/이탤릭체/취소선 필터링...) ... | |
최고의 15가지 도구 모음: 12개의 텍스트 도구 (텍스트 추가, 특정 문자 삭제, ...) | 50+ 차트 유형 (간트 차트, ...) | 40+ 실용적인 수식 (생일을 기반으로 나이 계산, ...) | 19개 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입, ...) | 12개 변환 도구 (단어로 변환하기, 통화 변환, ...) | 7개 병합 및 분할 도구 (고급 행 병합, 셀 분할, ...) | ... 그리고 더 많은 기능들 |
Kutools for Excel로 엑셀 스킬을 강화하고 지금까지 경험하지 못한 효율성을 체험하세요. Kutools for Excel은 생산성을 향상시키고 시간을 절약할 수 있는 300개 이상의 고급 기능을 제공합니다. 가장 필요한 기능을 얻으려면 여기를 클릭하세요...
Office Tab은 탭 인터페이스를 Office에 제공하여 작업을 훨씬 쉽게 만듭니다.
- Word, Excel, PowerPoint에서 탭 편집 및 읽기를 활성화하세요.
- 새 창 대신 동일한 창의 새 탭에서 여러 문서를 열고 생성하세요.
- 생산성을 50% 향상시키고 매일 수백 번의 마우스 클릭을 줄입니다!