もくじ

taka



最新記事 by taka (全て見る)
- 『雑記』最近の私の話~ - 2019年9月26日
- 【動画】自作パソコン構成変更!ケースをNZXT H500に交換しました! - 2019年6月5日
- VBA 『Array関数』指定した要素で配列を作成する - 2019年5月23日
- 「動画」初完全ワイヤレスイヤホン『Jabra Elite Active 65t』 - 2019年5月17日
- VBA 日付で令和を簡単に判定してみよう - 2019年5月7日
Listbox(リストボックス)で選択した内容をテキストボックスに表示する方法
どうも、taka(@takabou63)です(^^♪
最近雨が多く急に寒くなったりする日が増えてきて秋の陽気になってきました(;^ω^)風邪をひかないように気を付けないといけませんね(;´・ω・)
さて話は変わりますが、普段リストボックスを使用している場合下記の画像のようにデータの一覧が並んでいるのが普通だと思いますが、


このようにすると選択している人の項目がTextboxに表示されて見やすくなったと思いませんか?私が作成しているプログラムのList形式のデータはほぼすべてこのように表示するようにしています(見やすいのが一番(笑)
ということで今回は【Listbox(リストボックス)で選択した内容をテキストボックスに表示する方法】についてご紹介していきます(^^♪
用意するコントロール
今回用意するコントロールは
- Textboxコントロール・・・3つ※
- Listboxコントロール・・・1つ
です。※Textboxは表示したい項目数分用意してください
今回使用するデータ
今回使用するデータはこちらです。これをもとにコードを作成しています。
リストボックスで選択した内容をテキストボックスに表示するコード
今回はクリックしたリストボックスの内容をListIndexで取得してその内容をTextboxに表示させるわけですが・・・このように書きます
TextBox1.Text = ListBox1.List(ListBox1.ListIndex, 0) TextBox2.Text = ListBox1.List(ListBox1.ListIndex, 1) TextBox3.Text = ListBox1.List(ListBox1.ListIndex, 2)
2つ3つの項目ならこのように書いてもいいですが、10、20項目あると少し手間です。そこで使うのが前にご紹介した【Textboxを変数で操作】です(^^♪
これを使えば20項目以上あったとしても数行で済ませることができます( ^ω^ )
下記のサンプルコードには両方の方法を記述してありますのでご自由にお試しください(^^♪
Private Sub UserForm_Initialize() 'フォーム読み込み時にリストボックスの内容を読み込むコード Dim LastRow As Long Dim MyVal With ListBox1 LastRow = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row MyVal = Worksheets("Sheet1").Range("A1:C" & LastRow) .List() = MyVal End With End Sub Private Sub ListBox1_Click() '↑Listboxクリックイベントを使用 '↓普通にコードを記述していくとこのような形、少数のコントロールならこれで十分。 TextBox1.Text = ListBox1.List(ListBox1.ListIndex, 0) TextBox2.Text = ListBox1.List(ListBox1.ListIndex, 1) TextBox3.Text = ListBox1.List(ListBox1.ListIndex, 2) '--------------------------------------------------------------------------- '↓変数処理で記述した場合、コントロールが10や20ある場合はこの方が手っ取り早いかもしれません。 'Dim i As Long 'For i = 1 To 3 '←表示させたい数分 ''↓ControlsでTextboxを変数で処理 'Controls("TextBox" & i).Text = ListBox1.List(ListBox1.ListIndex, i - 1) ' '↑ListIndexで現在選択している位置を取得、インデックスは0から始まるので ' '【1】から始まる変数iから1をマイナスして調整 ' Next '---------------------------------------------------------------------------- End Sub
フォロー・チャンネル登録お願いします
VBA以外についてのブログはこちら↓
https://yb-log.com/■Twitterフォロー
Follow @taka_pc1027■YouTubeチャンネル登録
コメントを残す