ユーザーフォーム入門
テキストボックス(TextBox)の値をセルへ

Excelマクロのユーザーフォームの基礎、エクセルVBAの入門解説
最終更新日:2019-12-15

第7回.テキストボックス(TextBox)の値をセルへ


ユーザーフォーム入門として基礎から解説します。
ユーザーフュームのテキストボックスに入力した値を、ワークシートのセルに出力します。


前回までに作成したユーザーフォーム

前回作成したユーザーフォームです。

VBA マクロ ユーザーフォーム

「OK」ボタンを押下すると、このテキストボックスに入力した値をワークシートのセルに値を設定するようにします。

ワークシートの用意

まずは、出力するワークシートを用意します。

VBA マクロ ユーザーフォーム

とりあえず、こんな感じで良いでしょう。
シート名は、「顧客マスタ
実行ボタンには、先に作成してある、

Sub FormShow()
  frmSample.Show
End Sub

このプロシージャーを割り当てておきましょう。

OKボタンクリック時のイベントプロシージャー作成

では、続いて、
「OK」ボタンをダブルクリックし以下のイベントを追加します。

または、コード画面の左上のオブジェクト選択で、btnCancelを選択してイベントプロシージャーを挿入できます。
選択するオブジェクトにより既定のイベントが自動挿入されます。

VBA マクロ ユーザーフォーム

コマンドボタンはClickイベントが自動挿入されます。
目的のイベント以外の場合は、右側のイベント選択で目的のイベントを選択します。

VBA マクロ ユーザーフォーム

Private Sub btnOk_Click()

End Sub

これを以下に変更します。

Private Sub btnOk_Click()
  Dim lastRow As Long
  With Worksheets("顧客マスタ")
    lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
    .Cells(lastRow, 1).Value = Me.txtコード.Text
    .Cells(lastRow, 2).Value = Me.txt漢字名称.Text
    .Cells(lastRow, 3).Value = Me.txtカナ名称.Text
  End With
  Unload Me
End Sub

これで完成です。

テキストボックスに入力された値は、
Textプロパティ、または、Valueプロパティで取得します。

シートの実行ボタンを押下しフォームを起動して、
テキストボックスに入力してから、「OK」ボタンを押下してみましょう。
一番下に、テキストボックスの値が入りましたね。

ユーザーフォームのインテリセンス

btnOk_Clickを作成するとき、単に全てコピペで貼り付けるのではなく、
実際にタイピングして入力してみて下さい。
すると、何かに気がつくと思います。
Me.
ここまで入力したときに、インテリセンス(自動補完)が効きます。

VBA マクロ ユーザーフォーム

そして、
Me.txt
ここまで入力すると、

VBA マクロ ユーザーフォーム

オブジェクト名にプリフィックスを付けたのはこの為です。
そうです、名前を確認しやすくなりますし、効率が良くなります。


今回はここまでです。
次回は、今回とは逆にワークシートの値をテキストボックスに表示します。
ではまた次回お会いしましょう。




同じテーマ「ユーザーフォーム入門」の記事

第4回.コントロールの位置・サイズ調整
第5回.ラベルの追加
第6回.テキストボックス(TextBox)の追加
第7回.テキストボックス(TextBox)の値をセルへ
第8回.セルの値をテキストボックスへ
第9回.標準モジュールとフォーム間のデータ受け渡しⅠ
第10回.標準モジュールとフォーム間のデータ受け渡しⅡ
第11回.コンボボックス(ComboBox)の追加
第12回.リストボックス(ListBox)の追加
第13回.チェックボックス(CheckBox)の追加
第14回.オプションボタン(OptionButton)の追加


新着記事NEW ・・・新着記事一覧を見る

シートコピー後のアクティブシートは何か|ツイッター出題回答 (2023-09-19)
Excel関数の引数を省略した場合について|ツイッター出題回答 (2023-09-14)
セル個数を返すRange.CountLargeプロパティとは|VBA技術解説(2023-09-08)
記号を繰り返してグラフ作成(10単位で折り返す)|ツイッター出題回答 (2023-08-28)
シートを削除:不定数のシート名に対応|VBAサンプル集(2023-08-24)
ランクによりボイントを付ける(同順位はポイントを分割)|ツイッター出題回答 (2023-08-22)
OneDrive使用時のThisWorkbook.Pathの扱い方|VBA技術解説(2023-07-26)
列幅不足による###表示や指数表示を判定する|VBA技術解説(2023-07-12)
シートを削除:不定数のシート名に対応|VBAサンプル集(2023-07-04)
シート関数のCOUNTIFS,SUMIFS,MAXIFSと同じ処理|Power Query(M言語)入門(2023-02-28)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.マクロとは?VBAとは?VBAでできること|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
10.条件分岐(IF)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。

記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ