Excelのチェックボックスのグループで選択されるチェックボックスをXNUMXつだけにする方法は?
以下のスクリーンショットに示すように、行2にリストされているチェックボックスのグループで、XNUMXつのチェックボックスのみを選択またはチェックすると、他のチェックボックスは無効になります。 それを達成する方法は? この記事のVBAコードは役に立ちます。
VBAコードで選択するチェックボックスをXNUMXつだけ作成します
VBAコードで選択するチェックボックスをXNUMXつだけ作成します
以下のVBAコードを実行して、チェックボックスグループで一度にXNUMXつのチェックボックスのみを選択できます。 次のようにしてください。
1.まず、必要に応じてチェックボックスを挿入してください。 ここに、を挿入する必要があります ActiveXコントロールのチェックボックス 次のスクリーンショットのように:
2.次にを押します 他の + F11キーを同時に開いて アプリケーション向け Microsoft Visual Basic 窓。
3.オープニングで アプリケーション向け Microsoft Visual Basic ウィンドウ、クリック インセット > クラスモジュール.
4.クラス名をに変更します Clsチェック の中に (名前)の箱 プロパティ ペインをクリックし、以下のVBAコードをコピーして対応するものに貼り付けます Code 窓。 スクリーンショットを参照してください:
VBAコード1:一度にXNUMXつのチェックボックスのみを選択します
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:一度にXNUMXつのチェックボックスのみを選択します
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 コードを実行するためのキー。
これ以降、ワークシートのチェックボックスのいずれかをオンにすると、他のチェックボックスが自動的に無効になり、チェックを外してすべてのチェックボックスを再度アクティブにすることができます。
Note:チェックボックスグループに新しいチェックボックスが追加された場合は、VBAコードを再実行して、すべてのチェックボックスを再度アクティブにしてください。 チェックボックスグループからチェックボックスを削除すると、コードも再実行する必要があります。
R高揚した記事:
- Excelのチェックボックスに基づいてデータをフィルタリングするにはどうすればよいですか?
- Excelで行が非表示になっているときにチェックボックスを非表示にするにはどうすればよいですか?
- Excelのチェックボックスでセルまたは行を強調表示するにはどうすればよいですか?
- Excelで複数のチェックボックスを含むドロップダウンリストを作成するにはどうすればよいですか?
- Excelのチェックボックスをオンにした場合、セルに日付スタンプを挿入するにはどうすればよいですか?
最高のオフィス生産性向上ツール
🤖 | Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行 | コードを生成 | カスタム数式の作成 | データを分析してグラフを生成する | Kutools関数を呼び出す... |
人気の機能: 重複を検索、強調表示、または識別する | 空白行を削除する | データを失わずに列またはセルを結合する | 数式なしのラウンド ... | |
スーパールックアップ: 複数の基準の VLookup | 複数の値の VLookup | 複数のシートにわたる VLookup | ファジールックアップ .... | |
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する | 依存関係のドロップダウン リスト | 複数選択のドロップダウンリスト .... | |
列マネージャー: 特定の数の列を追加する | 列の移動 | Toggle 非表示列の表示ステータス | 範囲と列の比較 ... | |
注目の機能: グリッドフォーカス | デザインビュー | ビッグフォーミュラバー | ワークブックとシートマネージャー | リソースライブラリ (自動テキスト) | 日付ピッカー | ワークシートを組み合わせる | セルの暗号化/復号化 | リストごとにメールを送信する | スーパーフィルター | 特殊フィルター (太字/斜体/取り消し線をフィルター...) ... | |
上位 15 のツールセット: 12 テキスト ツール (テキストを追加, 文字を削除する、...) | 50+ チャート 種類 (ガントチャート、...) | 40+ 実用的 式 (誕生日に基づいて年齢を計算する、...) | 19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...) | 12 変換 ツール (数字から言葉へ, 通貨の換算、...) | 7 マージ&スプリット ツール (高度な結合行, 分割セル、...) | ... もっと |
Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。 最も必要な機能を入手するにはここをクリックしてください...
Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作業をはるかに簡単にします
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!