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

Excelマクロのユーザーフォームの基礎、エクセルVBAの入門解説
公開日:2013年5月以前 最終更新日: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 ・・・新着記事一覧を見る

無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)
VBAでクリップボードへ文字列を送信・取得する3つの方法|VBA技術解説(2023-12-07)
難しい数式とは何か?|エクセル雑感(2023-12-07)
スピらない スピル数式 スピらせる|エクセル雑感(2023-12-06)
イータ縮小ラムダ(eta reduced lambda)|エクセル入門(2023-11-20)
PIVOTBY関数(縦軸と横軸でグループ化して集計)|エクセル入門(2023-11-19)


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

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




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


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



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