Excelユーザーフォーム入門
第8回.セルの値をテキストボックスへ

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

第8回.セルの値をテキストボックスへ


今回は、シートの実行ボタンを押下したら、


アクティブセルの行の値をフォームに表示してみましょう。

フォームのコードを表示しましょう。


右クリックします。

マクロ VBA サンプル画像

フォーム上で右クリックでも良いです。

また、

「表示」→「コード」・・・ショートカットはF7です。

では、ここで、フォームのInitializeイベントを追加します。

マクロ VBA サンプル画像

このUserFormをクリックすると、

Private Sub UserForm_Click()

End Sub

勝手にClickイベントが追加されます。


目的のInitializeイベントではないですね、

マクロ VBA サンプル画像

これで、Initializeイベントが追加されます。

Private Sub UserForm_Initialize()

End Sub

UserForm_Clickは不要なので、削除しておきましょう。


では、このUserForm_Initializeを以下のように変更して下さい。

Private Sub UserForm_Initialize()
  Dim i As Long
  With Worksheets("顧客マスタ")
    i = ActiveCell.Row
    Me.txtコード.Text = .Cells(i, 1)
    Me.txt漢字名称.Text = .Cells(i, 2)
    Me.txtカナ名称.Text = .Cells(i, 3)
  End With
End Sub

これで、アクティブセルの行の内容がフォームに表示されたはずです。


前回作成した、

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


この代入方向を逆にしただけですね。



ここまでが、ユーザーフォームの基本になります。

後は、いろいろなコントロールの使い方を覚えれば良いです。

しかし、ActiveCell.Rowをフォーム側で使うのは、どうもスマートではないです。

なんとなく、いやな感じがします。

こういう特殊なオブジェクトはなるべく使わないようにコーディングしたいところです。

次回以降は、他のコントロールに入る前に、

フォームモジュール、標準モジュール、シートモジュール、

それぞれの間でのデータの共有方法、データの受け渡し方法をやります。

書籍やネットでは、なかなか書いてない方法も含めて、かなり高度な使い方まで踏み込みます。

ここを覚えてしまえば、各コントロールの使い方なんて、大した問題ではありません。





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

ラベルの追加
テキストボックス(TextBox)の追加
テキストボックス(TextBox)の値をセルへ
セルの値をテキストボックスへ
標準モジュールとフォーム間のデータ受け渡しⅠ
標準モジュールとフォーム間のデータ受け渡しⅡ
コンボボックス(ComboBox)の追加
リストボックス(ListBox)の追加
チェックボックス(CheckBox)の追加
オプションボタン(OptionButton)の追加
ここまでの整理

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

Withステートメントの実行速度と注意点|VBA技術解説(6月6日)
VBA+SeleniumBasicで検索順位チェッカー(改)|VBA技術解説(6月2日)
マクロでShift_JIS文字コードか判定する|VBA技術解説(6月1日)
Shift_JISのテキストファイルをUTF-8に一括変換|VBAサンプル集(5月31日)
「VBAによる解析シリーズその2 カッコ」をやってみた|エクセル(5月21日)
VBA+SeleniumBasicで検索順位チェッカー作成|VBA技術解説(5月18日)
テーブル操作のVBAコード(ListObject)|VBA入門(5月12日)
テーブル操作の概要(ListObject)|VBA入門(5月12日)
VBAのスクレイピングを簡単楽にしてくれるSelenium|VBA技術解説(5月6日)
Excelワークシート関数一覧(2010以降)|VBAリファレンス(4月22日)

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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.ひらがな⇔カタカナの変換|エクセル基本操作
7.繰り返し処理(For Next)|ExcelマクロVBA入門
8.マクロって何?VBAって何?|ExcelマクロVBA入門
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄



  • >
  • >
  • >
  • セルの値をテキストボックスへ

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


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






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

    本文下部へ