如何只在Excel中的一組複選框中僅選中一個複選框?
如下面的屏幕截圖所示,對於第2行中列出的一組複選框,當僅選中或選中一個複選框時,其他復選框將被禁用。 如何實現呢? 本文中的VBA代碼可以為您提供幫助。
僅使用VBA代碼選中一個複選框
您可以運行以下VBA代碼,每次僅選擇一個複選框組中的一個複選框。 請執行以下操作。
1.首先,請根據需要插入複選框。 在這裡,您應該插入 ActiveX控件複選框 如下圖所示:
2.然後按 其他 + F11鍵同時打開 Microsoft Visual Basic for Applications 窗口。
3.在開幕 Microsoft Visual Basic for Applications 窗口中,單擊 插入 > 類模塊.
4.將班級名稱更改為 香港中文大學 在裡面 (姓名)的盒子 氟化鈉性能 窗格,然後將下面的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代碼以再次激活所有復選框。 從復選框組中刪除複選框也需要重新運行代碼。
R興高采烈的文章:
- 如何基於Excel中的複選框過濾數據?
- 在Excel中隱藏行時如何隱藏複選框?
- 如何在Excel中使用複選框突出顯示單元格或行?
- 如何在Excel中創建帶有多個複選框的下拉列表?
- 如果在Excel中選中復選框,如何在單元格中插入日期戳?
最佳辦公效率工具
Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%
- 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
- 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
- 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
- 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
- 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
- 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
- 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
- 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
- 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆
- 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
- 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
- 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!


#18395
網站主持人對此評論進行了最小化
0
0

#28554
網站主持人對此評論進行了最小化
0
0

#28555
網站主持人對此評論進行了最小化
即時報告
0
0

#28556
網站主持人對此評論進行了最小化
2
0

#28557
網站主持人對此評論進行了最小化
即時報告
1
0

#28558
網站主持人對此評論進行了最小化
即時報告
0
0

#28559
網站主持人對此評論進行了最小化
即時報告
0
0

#32045
網站主持人對此評論進行了最小化
0
0

#32046
網站主持人對此評論進行了最小化
即時報告
0
0

#32047
網站主持人對此評論進行了最小化
0
0

#33992
網站主持人對此評論進行了最小化
0
0

#34501
網站主持人對此評論進行了最小化
0
0

#34502
網站主持人對此評論進行了最小化
即時報告
0
0

#37188
網站主持人對此評論進行了最小化
即時報告
0
0
這裡還沒有評論