Note: The other languages of the website are Google-translated. Back to English

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 일. 다운로드!


최고의 사무 생산성 도구

Excel용 Kutools는 대부분의 문제를 해결하고 생산성을 80% 증가시킵니다.

  • 재사용: 빠르게 삽입 복잡한 공식, 차트 그리고 이전에 사용한 모든 것; 셀 암호화 암호로; 메일 링리스트 생성 이메일 보내기 ...
  • 슈퍼 포뮬러 바 (여러 줄의 텍스트와 수식을 쉽게 편집 할 수 있습니다.) 레이아웃 읽기 (많은 수의 셀을 쉽게 읽고 편집합니다.) 필터링 된 범위에 붙여 넣기...
  • 셀 / 행 / 열 병합 데이터 손실없이; 셀 내용 분할; 중복 행 / 열 결합... 중복 셀 방지; 범위 비교...
  • 중복 또는 고유 선택 행; 빈 행 선택 (모든 셀이 비어 있음); 슈퍼 찾기 및 퍼지 찾기 많은 통합 문서에서; 무작위 선택 ...
  • 정확한 사본 수식 참조를 변경하지 않고 여러 셀; 참조 자동 생성 여러 시트에; 글 머리 기호 삽입, 확인란 등 ...
  • 텍스트 추출, 텍스트 추가, 위치 별 제거, 공간 제거; 페이징 부분합을 만들고 인쇄합니다. 셀 내용과 주석 간 변환...
  • 슈퍼 필터 (다른 시트에 필터 구성표 저장 및 적용) 고급 정렬 월 / 주 / 일, 빈도 등 특수 필터 굵은 기울임 꼴로 ...
  • 통합 문서와 워크 시트 결합; 키 열을 기반으로 테이블 병합; 데이터를 여러 시트로 분할; xls, xlsx 및 PDF 일괄 변환...
  • 300개 이상의 강력한 기능. Office / Excel 2007-2021 및 365를 지원합니다. 모든 언어를 지원합니다. 기업 또는 조직에서 쉽게 배포할 수 있습니다. 전체 기능은 30일 무료 평가판입니다. 60일 환불 보장.
kte 탭 201905

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

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
officetab 하단
코멘트 (0)
아직 평가가 없습니다. 가장 먼저 평가하세요!
아직 코멘트가 없습니다
여러분의 의견을 남겨
게스트로 게시
×
이 게시물 평가 :
0   등장 인물
추천 위치

Follow Us

저작권 © 2009 - WWW.extendoffice.com. | 판권 소유. 에 의해 구동 ExtendOffice. | | 사이트 맵
Microsoft 및 Office 로고는 미국 및 / 또는 기타 국가에서 Microsoft Corporation의 상표 또는 등록 상표입니다.
Sectigo SSL로 보호