ユーザーフォーム入門
テキストボックス(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回.コントロールの位置・サイズ調整

・OKボタンの追加と移動 ・グリッドに合わせて移動&サイズ調整 ・プロパティで移動&サイズ調整
第5回.ラベルの追加
・ラベルの追加 ・ラベルのプロパティ設定 ・縦書き
第6回.テキストボックス(TextBox)の追加
・テキストボックスの追加 ・テキストボックスの主要なプロパティ ・フォームを表示して確認
第7回.テキストボックス(TextBox)の値をセルへ
第8回.セルの値をテキストボックスへ
・Initializeイベントプロシージャーの追加 ・InitializeイベントプロシージャーのVBAコード ・各モジュール間でのデータ受け渡し方法
第9回.標準モジュールとフォーム間のデータ受け渡しⅠ
・前回までに作成したVBA ・フォーム側でアクティブセルの行数を知る方法 ・標準モジュールのグローバル変数を使う ・標準モジュールからフォームのコントロールを操作する
第10回.標準モジュールとフォーム間のデータ受け渡しⅡ
・Subプロシージャーの引数を使う ・Functionプロシージャーの戻り値を使う ・標準モジュールとフォーム間のデータ受け渡しについて
第11回.コンボボックス(ComboBox)の追加
・コンボボックスの追加 ・コンボボックスのプロパティ・メソッド ・コンボボックスで選択した値を取得 ・コンボボックスの指定リストを選択状態にする ・複数列のコンボボックス
第12回.リストボックス(ListBox)の追加
・リストボックスの追加 ・リストボックスのプロパィ ・Listプロパティ ・Columnプロパティ ・RowSourceプロパティ ・選択されたリスト項目の取得 ・リストボックスの複数選択 ・IntegralHeightプロパティ
第13回.チェックボックス(CheckBox)の追加
・チェックボックスの追加 ・チェック状態の設定 ・チェック状態の取得
第14回.オプションボタン(OptionButton)の追加
・オプションボタンの追加 ・オプションボタンの状態設定 ・チェック状態の判定 ・オプションボタンのグループ化


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

TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)


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

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




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


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


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