エクセルマクロで、オプションボタン(ラジオボタン)を一括解除・全選択・削除するVBAコードをご紹介します。
動画で動作確認ができます👇
オプションボタンを一括解除
以下のExcelVBAを実行すると、オプションボタンを一括リセットします。
Sub ラジオボタンを一括オフ()
Dim rb As OptionButton
'オプションボタンをループ
For Each rb In ActiveSheet.OptionButtons
'オプションボタンがオンだったら
If rb.Value = xlOn Then
'オプションボタンのチェックをオフにする
rb.Value = xlOff
End If
Next rb
End Sub
アクティブシート内にある、すべてのオプションボタンを一気に外します。
オプションボタンを全選択
以下のExcelVBAを実行すると、すべてのオプションボタンを選択状態にします。
Sub ラジオボタン全部選択()
Dim rb As OptionButton
Dim Myrb() As Variant
Dim i As Long
i = 1
For Each rb In ActiveSheet.OptionButtons
ReDim Preserve Myrb(i)
Myrb(i) = rb.Name
i = i + 1
Next
'全てのラジオボタンを全選択
ActiveSheet.Shapes.Range(Myrb).Select
End Sub
アクティブシート内にある、すべてのオプションボタンを選択状態にします。
オプションボタンを削除
以下のExcelVBAを実行すると、アクティブシート内にあるすべてのオプションボタンを削除します。
Sub ラジオボタンを一括削除()
Dim rb As OptionButton
For Each rb In ActiveSheet.OptionButtons
rb.Delete
Next
End Sub
オプションボタンを一括で自動消去します。
オプションボタンを削除(特定範囲)
以下のExcelVBAを実行すると、特定範囲内にあるオプションボタンを消去します。
Sub ラジオボタンを消す()
Dim rb As OptionButton
For Each rb In ActiveSheet.OptionButtons
If Not Application.Intersect(rb.TopLeftCell, ActiveSheet.Range("B2:B5")) Is Nothing Then
rb.Delete
End If
Next
End Sub
セル範囲 [B2:B5] の中にあるオプションボタンを消します。
オプションボタンを削除(特定列)
以下のExcelVBAを実行すると、特定の列にあるオプションボタンを削除します。
Sub 特定列のオプションボタンを消す()
Dim rb As OptionButton
For Each rb In ActiveSheet.OptionButtons
If rb.TopLeftCell.Column = 2 Then
rb.Delete
End If
Next
End Sub
B列にあるオプションボタンを消去します。
オプションボタンを削除(特定行)
以下のExcelVBAを実行すると、特定の行にあるオプションボタンをクリアします。
Sub 特定行のラジオボタンを消す()
Dim cb As checkbox
For Each cb In ActiveSheet.CheckBoxes
If cb.TopLeftCell.Row = 2 Or cb.TopLeftCell.Row = 4 Then
cb.Delete
End If
Next cb
End Sub
2行目と4行目にあるオプションボタンを消去します。
この記事がお役に立ちますと幸いです。
VBA オプションボタンのグループボックス非表示にする
...
「ノンプログラマーのGAFA部長が教えるExcelマクロ入門」
挫折につながるエラーの原因も先回りして丁寧に解説
マクロのたった1割を学べばエクセル業務の9割以上は効率化できる
リンク