教えて!ExcelVBA!

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

【ExcelVBA フォーム&コントロール】Enterキーで改行できるテキストボックスを作成する方法を教えて!

構文

構文は以下の通りです。

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

解説

EnterKeyBehavierプロパティは、Trueに設定するとEnterキーを押した際に特定のアクションを実行するようになります。また、Falseに設定すると通常のEnterキーの動作を維持します。

使い方

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

1.Trueを設定する場合

TextBox1.EnterKeyBehavier = True

これを設定すると、テキストボックス1(TextBox1)でEnterキーを押すと、通常のEnterキーの振る舞いに加えて、特定のアクションが実行されるようになります。このアクションは、Enterキーが押されたときに何らかのカスタムコードを実行することができます。たとえば、特定の処理をトリガーしたり、フォーム内で次の入力フィールドにフォーカスを移動させたりすることができます。

2.Falseを設定する場合

TextBox1.EnterKeyBehavier = False

これを設定すると、テキストボックス1(TextBox1)でEnterキーを押しても、通常のEnterキーの振る舞いが維持されます。テキストボックスからフォーカスが外れ、次のコントロールに移動します。

プログラミング例

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

Private Sub UserForm_Initialize()
    If SomeCondition = True Then
        ' 複数行入力を可とする
        TextBox1.MultiLine = True
        ' Enterキーが押されたときに複数行入力を可とする
        TextBox1.EnterKeyBehavier = True
    Else
        ' 条件が満たされない場合、複数行入力を不可とする
        TextBox1.MultiLine = False
        ' Enterキーが押されても複数行入力を不可とする
        TextBox1.EnterKeyBehavier = False
    End If
End Sub

上記は、特定の条件が満たされた場合に、テキストボックス内で複数行入力を可能とし、Enterキーが押されたときに改行します。また、条件が満たされない場合に、テキストボックス内で複数行入力を不可とし、Enterキーが押されても改行しないようにする例です。

まとめ

Enterキーで改行できるテキストボックスを活用すれば、Excelシート内でテキストを入力しやすくなり、データの整理や記録がスムーズに行えます。是非活用してください。