메인 컨텐츠로 가기

Excel에서 확인란이 선택된 경우 다른 확인란의 선택을 취소하는 방법은 무엇입니까?

아래 gif에서 볼 수 있듯이 귀하가 마무리해야 하는 구매 목록이 있다고 가정합니다. 목록을 확인하는 동안 일부 범주에서 선택한 항목이 예산을 초과하여 다시 선택해야 함을 발견했습니다. 목록이 너무 길기 때문에 카테고리에서 새 체크박스가 선택되었을 때 원래 체크된 체크박스를 자동으로 선택 해제하는 보다 효율적인 방법이 필요합니다. 이 자습서는 완료하는 데 도움이 되는 방법을 단계별로 보여줍니다.

VBA 코드로 새 확인란을 선택하면 다른 확인란의 선택을 취소하십시오.


VBA 코드로 새 확인란을 선택하면 다른 확인란의 선택을 취소하십시오.

위의 데모에서 볼 수 있듯이 XNUMX개의 확인란은 체크박스1, 체크박스2, 체크박스3, ..., 체크박스10 는 3개의 그룹으로 나뉘며 표의 다른 범주에 있습니다.

이 예에서 Checkbox1, 2, 3은 한 그룹에 있고, Checkbox4, 5, 6, 7은 한 그룹에, Checkbox8, 9,10은 같은 그룹에 있습니다. 각 그룹에서 한 번에 하나의 확인란만 선택할 수 있습니다. 확인란을 선택하면 다른 확인란이 자동으로 선택 해제됩니다.

이제 이 문제를 해결하기 위해 다음 VBA 코드를 적용하는 방법을 살펴보겠습니다.

1. 시트 탭을 마우스 오른쪽 버튼으로 클릭하고 코드보기 컨텍스트 메뉴에서.

2. 열린 응용 프로그램 용 Microsoft Visual Basic 창에서 다음 VBA 코드를 붙여 넣습니다. 시트(코드) 창.

VBA 코드: 새 확인란이 선택되면 다른 확인란의 선택을 취소합니다.

Dim xBol As Boolean
'Updated by Extendoffice 20220816
Private Sub CheckBox1_Change()
SetCheckBoxes "CheckBox1"
End Sub

Private Sub CheckBox2_Change()
SetCheckBoxes "CheckBox2"
End Sub

Private Sub CheckBox3_Change()
SetCheckBoxes "CheckBox3"
End Sub

Private Sub CheckBox4_Change()
SetCheckBoxes "CheckBox4"
End Sub

Private Sub CheckBox5_Change()
SetCheckBoxes "CheckBox5"
End Sub

Private Sub CheckBox6_Click()
SetCheckBoxes "CheckBox6"
End Sub

Private Sub CheckBox7_Click()
SetCheckBoxes "CheckBox7"
End Sub
Private Sub CheckBox8_Click()
SetCheckBoxes "CheckBox8"
End Sub
Private Sub CheckBox9_Click()
SetCheckBoxes "CheckBox9"
End Sub
Private Sub CheckBox10_Click()
SetCheckBoxes "CheckBox10"
End Sub

Private Function SetCheckBoxes(mCheckBoxName As String)
Dim x As Long
Dim xAllArr
Dim xArrItem
Dim xI, xJ
If Not xBol Then Exit Function
'In the following line, the checkboxes enclosed in double quotes belong to the same group, and each checkbox is separated by a comma. To add more checkbox groups, please enclose the checkboxes in new double quotes.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
For xI = LBound(xAllArr) To UBound(xAllArr)
If InStr(xAllArr(xI), mCheckBoxName) > 0 Then
xBol = False
xArrItem = Split(xAllArr(xI), ",")
For xJ = LBound(xArrItem) To UBound(xArrItem)
If xArrItem(xJ) <> mCheckBoxName Then
Me.OLEObjects(xArrItem(xJ)).Object.Value = False
End If
Next
End If
Next
xBol = True
End Function

Private Sub Worksheet_Activate()
xBol = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
xBol = True
End Sub

노트:

1) 코드에서, 체크박스1, 체크박스2, ..., 체크박스10 확인란의 이름입니다.
2) 다음 줄에서 큰따옴표로 묶인 확인란은 동일한 그룹에 속하며 각 확인란은 쉼표로 구분됩니다. 더 많은 체크박스 그룹을 추가하려면 체크박스를 새로운 큰따옴표로 묶으십시오.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) 체크박스는 ActiveX 컨트롤 확인란.

3. 누르세요 다른 + Q 닫는 키 응용 프로그램 용 Microsoft Visual Basic 창.

그런 다음 그룹에서 새 확인란을 선택하면 아래 gif와 같이 원래 선택된 확인란이 자동으로 선택 해제됩니다.


데모: Excel에서 확인란이 선택된 경우 다른 확인란 선택 취소

  Excel 용 Kutools Microsoft Excel을 위한 300개 이상의 강력한 기능이 포함되어 있습니다. 30일 동안 제한 없이 무료로 사용해 보세요. 다운로드!

최고의 사무 생산성 도구

🤖 Kutools AI 보좌관: 다음을 기반으로 데이터 분석을 혁신합니다. 지능형 실행   |  코드 생성  |  사용자 정의 수식 만들기  |  데이터 분석 및 차트 생성  |  Kutools 기능 호출...
인기 기능: 중복 항목 찾기, 강조 표시 또는 식별   |  빈 행 삭제   |  데이터 손실 없이 열이나 셀 결합   |   수식없이 반올림 ...
슈퍼 조회: 다중 기준 VLookup    다중 값 VLookup  |   여러 시트에 걸친 VLookup   |   퍼지 조회 ....
고급 드롭다운 목록: 드롭다운 목록을 빠르게 생성   |  종속 드롭다운 목록   |  다중 선택 드롭 다운 목록 ....
열 관리자: 특정 개수의 열 추가  |  열 이동  |  Toggle 숨겨진 열의 가시성 상태  |  범위 및 열 비교 ...
특색 지어진 특징: 그리드 포커스   |  디자인보기   |   큰 수식 바    통합 문서 및 시트 관리자   |  리소스 라이브러리 (자동 텍스트)   |  날짜 선택기   |  워크 시트 결합   |  셀 암호화/해독    목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터 (굵게/기울임꼴/취소선 필터링...) ...
상위 15개 도구 세트12 본문 도구 (텍스트 추가, 문자 제거,...)   |   50+ 거래차트 유형 (Gantt 차트,...)   |   40+ 실용 방식 (생일을 기준으로 나이 계산,...)   |   19 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입,...)   |   12 매출 상승 도구 (숫자를 단어로, 환율,...)   |   7 병합 및 분할 도구 (고급 결합 행, 셀 분할,...)   |   ... 그리고 더

Excel용 Kutools로 Excel 기술을 강화하고 이전과는 전혀 다른 효율성을 경험해 보세요. Excel용 Kutools는 생산성을 높이고 시간을 절약하기 위해 300개 이상의 고급 기능을 제공합니다.  가장 필요한 기능을 얻으려면 여기를 클릭하십시오...

상품 설명


Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations