ユーザーフォーム チェックボックスとオプションボタン連動 VBA

vba-チェックボックスとオプションボタン連動アイキャッチ ExcelVBA

ユーザーフォームで、チェックボックスとオプションボタン連動させる方法をご紹介します。

オプションボタンをグループ化して、どれか1つでもONにした場合、
該当のチェックボックスにチェックをいれるVBAを作りました。

ぜひお試しください😉

ユーザーフォーム作成

ユーザーフォームを作成します。


 

各オプションボタンに「GroupName」を入力します。
上の行は「GroupName」に ”1” を入力します。


 

中間の行は「GroupName」に ”2” を入力します。


 

下の行は「GroupName」に ”3” を入力します。

 

Excelシート

「Sheet1」にマクロボタンを設置します。


 

以下コードを標準モジュール「Module1」に入力して、
ボタンをクリックしたときに、ユーザーフォームが開くようにします。


Sub ボタン1_Click()
    UserForm1.Show vbModeless
End Sub

 

マクロコードを「Module1」に入力した画面


 

マクロコードを入力

マクロコードを「UserForm1」に入力します。


Option Explicit

Private Sub OptionButton1_Click()
  Call main
End Sub
Private Sub OptionButton2_Click()
  Call main
End Sub
Private Sub OptionButton3_Click()
  Call main
End Sub
Private Sub OptionButton4_Click()
  Call main
End Sub
Private Sub OptionButton5_Click()
  Call main
End Sub
Private Sub OptionButton6_Click()
  Call main
End Sub
Private Sub OptionButton7_Click()
  Call main
End Sub
Private Sub OptionButton8_Click()
  Call main
End Sub
Private Sub OptionButton9_Click()
  Call main
End Sub

Sub main()

Dim i As Long

    'オプションボタン1~9をループ
    For i = 1 To 9
    
        'オプションボタンがクリックされたら
        If Me.Controls("OptionButton" & i).Value = True Then
        
            'チェックボックスをオンにする
            Me.Controls("CheckBox" & Me.Controls("OptionButton" & i).GroupName).Value = True
        End If
    Next i
End Sub

 

マクロコードを入力する場所「UserForm1」


 

動作

ユーザーフォームを開く


 

各行のオプションボタンをどれか1つでもクリックすると、
自動でチェックボックスがONになります。

 

全ての行のオプションボタンをクリックすると、
すべてのチェックボックスがオンになります。


 
 
この記事がお役に立ちますと幸いです🍀
 
・【ExcelVBA】ユーザーフォーム作成の事例まとめ
 

【VBAユーザーフォーム】何ができるの?:使用例34選
...

 

「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説