Excel VBA 逆引き集 | テキストボックス

Excel VBA
スポンサーリンク

テキストボックスの基本

Excel VBAで「ユーザーに文字や数値を入力してもらう」場面では UserFormのテキストボックス を使います。
初心者向けに、コード例やテンプレートをかみ砕いて説明します。


基本の考え方

  • TextBoxとは?
    UserFormに配置できる入力欄。ユーザーが文字や数値を入力できる。
  • 用途:
    • 名前やコードの入力
    • 数値の入力(売上、数量など)
    • 検索キーワードの入力
  • 流れ:
    1. VBAエディタで「挿入 → UserForm」を選ぶ。
    2. UserFormに TextBoxCommandButton を配置。
    3. コードで「入力値を取得」「シートに書き戻す」などを定義。

テンプレ1:入力値を取得して表示

UserFormに TextBox1CommandButton1 を配置。

Private Sub CommandButton1_Click()
    Dim inputValue As String
    inputValue = TextBox1.Value
    MsgBox "入力された値は " & inputValue & " です"
End Sub
VB
  • ポイント:
    • TextBox1.Value で入力値を取得。
    • ボタンを押すとメッセージボックスに表示。

テンプレ2:シートに書き戻す

Private Sub CommandButton1_Click()
    Dim ws As Worksheet: Set ws = Worksheets("Data")
    ws.Range("A1").Value = TextBox1.Value
    MsgBox "シートに書き込みました!"
End Sub
VB
  • ポイント:
    • 入力値をシートのセルに書き戻す。
    • データ入力フォームとして利用可能。

テンプレ3:数値入力を計算して書き戻す

UserFormに TextBox1(数量入力)と CommandButton1 を配置。

Private Sub CommandButton1_Click()
    Dim qty As Double
    If IsNumeric(TextBox1.Value) Then
        qty = CDbl(TextBox1.Value)
        Worksheets("Data").Range("B1").Value = qty * 100
        MsgBox "数量×100 の値をシートに書き込みました"
    Else
        MsgBox "数値を入力してください"
    End If
End Sub
VB
  • ポイント:
    • IsNumeric で数値チェック。
    • 入力値を計算してシートに反映。

テンプレ4:複数テキストボックスをまとめて処理

UserFormに TextBox1(名前)TextBox2(年齢)CommandButton1 を配置。

Private Sub CommandButton1_Click()
    Dim ws As Worksheet: Set ws = Worksheets("Data")
    ws.Range("A2").Value = TextBox1.Value   ' 名前
    ws.Range("B2").Value = TextBox2.Value   ' 年齢
    MsgBox "入力内容をシートに保存しました"
End Sub
VB
  • ポイント:
    • 複数のテキストボックスを使って複数項目を入力。

テンプレ5:フォームを開いたときに初期値を設定

Private Sub UserForm_Initialize()
    TextBox1.Value = "ここに入力してください"
End Sub
VB
  • ポイント:
    • フォームを開いたときに初期値を表示。
    • ユーザーに入力を促す。

例題で練習

'例1:入力値を取得して表示
' → CommandButton1_Click にコードを記述

'例2:シートに書き戻す
' → CommandButton1_Click にコードを記述

'例3:数値入力を計算して書き戻す
' → CommandButton1_Click にコードを記述

'例4:複数テキストボックスをまとめて処理
' → CommandButton1_Click にコードを記述

'例5:フォーム初期化時に初期値を設定
' → UserForm_Initialize にコードを記述
VB

初心者向けポイント

  • TextBoxは「入力欄」 → ユーザーが文字や数値を入力できる。
  • Valueプロパティで値を取得TextBox1.Value
  • IsNumericで数値チェック → 数値入力を安全に扱える。
  • UserForm_Initializeで初期値設定 → 入力を促す工夫。
  • シートとの連携が基本 → 入力値をシートに保存、シートから読み込み。

👉 この「テキストボックス基本テンプレ」を覚えておけば、Excel VBAで 入力フォームを作り、ユーザーからの入力をシートに反映 できるようになります。

タイトルとURLをコピーしました