教えて!ExcelVBA!

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

【ExcelVBA フォーム&コントロール】テキストボックスとセルを連動させる方法を教えて!

構文

構文は以下の通りです。

テキストボックス名.ControlSource = 連動させるセル

解説

ControlSourceプロパティは、テキストボックスが関連付けられるデータソースを指定します。連動させるセルには、テキストボックスが連動する対象のセルを指定します。通常、セルはワークシート上のセルを指定し、セルのアドレス(例:A1、B2など)で表現されます。セルの値をテキストボックスに表示したり、テキストボックスの内容をセルに反映させたりするために使用されます。

使い方

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

Private Sub TextBox1_Change()
    ' テキストボックスの内容をセルに反映
    ThisWorkbook.Sheets("Sheet1").Range("A1").Value = TextBox1.Text
End Sub

この例では、TextBox1の内容が変更されたときに、セルA1にその内容が反映されます。

プログラミング例

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

Private Sub TextBox1_Change()
    ' テキストボックスの内容をセルA1に反映
    ThisWorkbook.Sheets("Sheet1").Range("A1").Value = TextBox1.Text
End Sub

Private Sub UserForm_Initialize()
    ' ユーザーフォームが初期化されるときの処理
    TextBox1.Text = ThisWorkbook.Sheets("Sheet1").Range("A1").Value
End Sub

このコードは、テキストボックスの内容をセルA1に反映し、ユーザーフォームが初期化されるときにセルA1の値をテキストボックスに表示します。

まとめ

テキストボックスとセルを連動させる方法について説明しました。データ入力やフォーム作成を効率化する際に非常に便利な方法ですので、是非活用してください。