オプションボタンの値によってテキストボックス有効無効 ユーザーフォーム

vba-オプションボタンの値によってテキストボックス有効無効-アイキャッチ ExcelVBA

ユーザーフォームで、オプションボタンの値によってテキストボックス有効無効を切り替える方法をご紹介します。

2つのオプションボタンを設置し、片方を選択するとテキストボックスは入力できるが、
もう片方を選択すると、テキストボックスは入力できないようにします。

ぜひお試しください😉

ユーザーフォーム作成

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


 

Excelシート

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


 

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


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

 

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


 

マクロコードを入力

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


Private Sub OptionButton1_Change()
'OptionButton1が変化したら

    With Me.OptionButton1
        
        'TextBox1を有効にする(入力できる)
        Me.TextBox1.Enabled = True
        
        'TextBox1の背景色を白にする
        Me.TextBox1.BackColor = RGB(255, 255, 255)
    End With
    
End Sub

Private Sub OptionButton2_Change()
'OptionButton2が変化したら

    With Me.OptionButton2
        
        'TextBox1を無効にする(入力できない)
        Me.TextBox1.Enabled = False
        
        'TextBox1の背景色をグレーにする
        Me.TextBox1.BackColor = RGB(217, 217, 217)
    End With
    
End Sub

 

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


 

動作

ユーザーフォームを開き、オプションボタンで「はい」を選択すると、
テキストボックスに値を入力できます。


 

オプションボタンで「いいえ」を選択すると、
テキストボックスに値を入力できません。

テキストボックスの背景色がグレーになります。


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

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

 

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