如何只在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 人工智慧助手:基於以下內容徹底改變數據分析: 智慧執行 | 生成代碼 | 建立自訂公式 | 分析數據並產生圖表 | 呼叫 Kutools 函數... |
熱門特色: 尋找、突出顯示或識別重複項 | 刪除空白行 | 合併列或儲存格而不遺失數據 | 沒有公式的回合 ... | |
超級查詢: 多條件VLookup | 多值VLookup | 跨多個工作表的 VLookup | 模糊查詢 .... | |
高級下拉列表: 快速建立下拉列表 | 依賴下拉列表 | 多選下拉列表 .... | |
欄目經理: 新增特定數量的列 | 移動列 | 切換隱藏列的可見性狀態 | 比較範圍和列 ... | |
特色功能: 網格焦點 | 設計圖 | 大方程式酒吧 | 工作簿和工作表管理器 | 資源庫 (自動文字) | 日期選擇器 | 合併工作表 | 加密/解密單元格 | 按清單發送電子郵件 | 超級濾鏡 | 特殊過濾器 (過濾粗體/斜體/刪除線...)... | |
前 15 個工具集: 12 文本 工具 (添加文本, 刪除字符,...) | 50+ 圖表 類型 (甘特圖,...) | 40+ 實用 公式 (根據生日計算年齡,...) | 19 插入 工具 (插入二維碼, 從路徑插入圖片,...) | 12 轉化 工具 (數字到單詞, 貨幣兌換,...) | 7 合併與拆分 工具 (高級合併行, 分裂細胞,...) | ... 和更多 |
使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。 點擊此處獲取您最需要的功能...
Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆
- 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
- 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
- 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
Sort comments by
#37188
This comment was minimized by the moderator on the site
Report
0
0
#34501
This comment was minimized by the moderator on the site
0
0
#34502
This comment was minimized by the moderator on the site
Report
0
0
#33992
This comment was minimized by the moderator on the site
0
0
#32045
This comment was minimized by the moderator on the site
0
0
#32046
This comment was minimized by the moderator on the site
Report
0
0
#32047
This comment was minimized by the moderator on the site
0
0
#28554
This comment was minimized by the moderator on the site
0
0
#28555
This comment was minimized by the moderator on the site
Report
0
0
#28556
This comment was minimized by the moderator on the site
2
0
#28557
This comment was minimized by the moderator on the site
Report
1
0
#28558
This comment was minimized by the moderator on the site
Report
0
0
#28559
This comment was minimized by the moderator on the site
Report
0
0
#18395
This comment was minimized by the moderator on the site
0
0
There are no comments posted here yet