教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA フォーム&コントロール】テキストボックスを選択できない様に設定する方法を教えて!

構文

構文は以下の通りです。

テキストボックス名.Enabled = True / False

解説

Enabledプロパティは、テキストボックスが有効または無効になるかを制御できます。テキストボックスを有効または無効にするには、テキストボックス名を指定した後に Enabledプロパティを使用し、True (有効) または False (無効) を設定します。

使い方

具体的な使い方を幾つか紹介します。

1.テキストボックスを有効または無効にする

' テキストボックスを有効にする
UserForm1.TextBox1.Enabled = True
' テキストボックスを無効にする
UserForm1.TextBox1.Enabled = False

上記の例では、UserForm1はユーザーフォームの名前であり、TextBox1はテキストボックスの名前です。テキストボックスを有効にすると、ユーザーはテキストボックス内にテキストを入力できます。無効にすると、テキストボックスは編集不可能になり、ユーザーは内容を変更できません。

2.条件に応じて制御

If 条件 Then
    UserForm1.TextBox1.Enabled = True
Else
    UserForm1.TextBox1.Enabled = False
End If

上記の例では、条件が満たされた場合にテキストボックスを有効にし、それ以外の場合に無効にしています。

プログラミング例

以下に、プログラミング例を幾つか紹介します。

1.テキストボックスの有効・無効を切り替えるボタン

ユーザーフォームに「有効化」ボタンと「無効化」ボタンを配置し、それぞれのボタンをクリックしたときにテキストボックスの有効・無効を切り替えます。

Private Sub EnableButton_Click()
    UserForm1.TextBox1.Enabled = True
End Sub

Private Sub DisableButton_Click()
    UserForm1.TextBox1.Enabled = False
End Sub

2.条件に応じてテキストボックスの有効化・無効化

ユーザーフォームを使用して、特定の条件に基づいてテキストボックスを制御します。例えば、特定のチェックボックスがチェックされている場合にテキストボックスを有効化します。

Private Sub CheckBox1_Click()
    If UserForm1.CheckBox1.Value = True Then
        UserForm1.TextBox1.Enabled = True
    Else
        UserForm1.TextBox1.Enabled = False
    End If
End Sub

3.テキストボックスの内容をクリアするボタン

テキストボックスに入力された内容をクリアするボタンを追加します。

Private Sub ClearButton_Click()
    UserForm1.TextBox1.Text = "" ' テキストボックスの内容をクリア
End Sub

まとめ

Enabledプロパティは、ユーザーインターフェースを操作し、ユーザーに適切な操作を提供するための強力なツールです。条件に基づいてテキストボックスを有効または無効にすることで、フォームの柔軟性を高め、データ入力プロセスを改善することができます。是非活用してください。