教えて!ExcelVBA!

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

ExcelVBAでフォーム内のテキストボックスとセルを連動させる方法

構文

構文は以下の通りです。

' テキストボックスとセルを連動させるためのコード
Private Sub テキストボックス名_Change()
    Cells(行番号, 列番号).Value = テキストボックス名.Text
End Sub

解説

この構文では、フォームに配置したテキストボックスの内容が変更されるたびに、指定したセルにその内容が反映されるようにしています。具体的には、テキストボックスのChangeイベントを利用しており、ユーザーがテキストを入力するたびにこのイベントが発生します。その結果、テキストボックスに入力された文字列が、指定されたセル(行番号と列番号で指定)にリアルタイムで反映されます。

プログラミング例

具体的なプログラミング例を紹介します。

Private Sub 名前テキストボックス_Change()
    Cells(2, 3).Value = 名前テキストボックス.Text
End Sub

上記のプログラムでは、名前を入力するための「名前テキストボックス」に文字が入力されると、その内容がシートのセル「C2」に自動的に表示されます。たとえば、テキストボックスに「田中太郎」と入力すると、セル「C2」に「田中太郎」と表示されます。これにより、ユーザーがフォームで入力したデータを直接Excelのシートに反映させることができます。

まとめ

フォーム内のテキストボックスとExcelのセルを連動させることで、ユーザーが入力したデータをリアルタイムでシートに反映することができます。この方法は、データ入力フォームの作成や、ユーザーインターフェースを通じたデータ管理に非常に役立ちます。