ユーザーフォーム入門
第7回.テキストボックス(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 ・・・新着記事一覧を見る

VBAで写真の撮影日時や音楽動画の長さを取得する|VBA技術解説(1月10日)
ツイッターで出されたVBAのお題をやってみた|エクセル雑感(1月13日)
イベントプロシージャーの共通化(Enter,Exit)|ユーザーフォーム入門(1月13日)
Rangeオブジェクトの論理演算(差集合と排他的論理和)|VBA技術解説(1月10日)
イベントプロシージャーの共通化|ユーザーフォーム入門(1月7日)
コントロールの動的作成|ユーザーフォーム入門(1月6日)
Evaluateメソッド(文字列の数式を実行します)|VBA技術解説(1月5日)
エクスポート(PDF/XPS)|VBA入門(1月2日)
分析関数(OVER句,WINDOW句)|SQL入門(12月25日)
取得行数を限定するLIMIT句|SQL入門(12月21日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
6.変数宣言のDimとデータ型|VBA入門
7.繰り返し処理(For Next)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技




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


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



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