台風19号が来てとても暇です、どうもoReです。
今回は、入出庫履歴をユーザーフォームに
表示してみたいと思います。
UserForm_Initialize
・Initialize イニィシャラァィズ
Initializeは、『初期化』するという意味みたいです。
ユーザーフォームを初期化(初期設定)する感じです。
ユーザーフォームを表示させたとき、
リストボックスに入出庫履歴を表示させたいので、
UserForm_Initializeを使用します。
Private Sub UserForm_Initialize() ↑ この間のプログラムが、ユーザーフォームが表示されたとき処理される ↓ End Sub
Private Sub UserForm_Initialize()と書いてもいいですが、
楽な方法があります。
・オブジェクトの▼→UserFormを選択
・プロシージャの▼→Initializeを選択
Private Sub UserForm_Initialize()が挿入できましたか?
※Private Sub UserForm_Click()は使用しないので消してください。
ListBox
・List リィストゥ ・Box ボォクス
Listは、『一覧表』という意味みたいです。
ListBoxとは、データを一覧(リスト)で表示させるものです。
・ツールボックスのリストボックスをクリック→ユーザーフォームに挿入
ユーザーフォームにリストボックスを挿入できたら、
入出庫履歴をリストボックスに表示させていきます。
↓こちらの入出庫履歴ね
ListBox1.AddItem
・Add アドゥ ・Item アイタァム
Addは、『追加』という意味みたいです。
Itemは、『項目』という意味みたいです。
リストボックスにデータを登録する場合
ListBox1.AddItem 登録するデータ(追加する項目)
↓ためしにこう書いてみました。
'ユーザーフォーム初期化
Private Sub UserForm_Initialize()
ListBox1.AddItem Worksheets("入出庫履歴").Range("B3")
ListBox1.AddItem Worksheets("入出庫履歴").Range("C3")
ListBox1.AddItem Worksheets("入出庫履歴").Range("D3")
ListBox1.AddItem Worksheets("入出庫履歴").Range("E3")
ListBox1.AddItem Worksheets("入出庫履歴").Range("F3")
ListBox1.AddItem Worksheets("入出庫履歴").Range("G3")
ListBox1.AddItem Worksheets("入出庫履歴").Range("H3")
ListBox1.AddItem Worksheets("入出庫履歴").Range("I3")
End Sub
さて、どう表示されたかしら?
これじゃない感、満載!!(笑)
ListBox1.ColumnCount
・Column カァラァム ・Count カァゥントゥ
Columnは、『柱』という意味みたいです。
だが断る!!『列』にします。
柱って、縦にまっすぐ立ってるじゃない!?
だから、縦軸(列)はColumnらしいです。
Rowは行でしたよね?
Columnは列です。
リストボックスの列数を指定する場合
ListBox1.ColumnCount = 列数
入出庫履歴はセルB列からセルI列まであるので、
リストボックスの列数は8列とします。
ListBox1.ColumnCount = 8
ListBox1.List
AddItemは、1つのデータを登録しますが、
Listは複数のデータを登録できます。
ListBox1.List = 登録するデータ(複数)
とりあえずセルB3からセルI3まで、Range(“B3:I3”).Valueとします。
※Value ヴァリュゥーは値です。
詳しくはググってね。
ListBox1.List = Worksheets("入出庫履歴").Range("B3:I3").Value
↓このように書いて表示してみましょう。
'ユーザーフォーム初期化
Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 8
ListBox1.List = Worksheets("入出庫履歴").Range("B3:I3").Value
End Sub
このように表示されましたか?
ListBox1.ColumnWidths
・Widths ウィドゥズ
Widthsは、『幅』という意味みたいです。
列の幅を指定する場合
ListBox1.ColumnWidths = "1列目幅;2列目幅~"
表示されたリストボックスを見て調整してみましょう。
'ユーザーフォーム初期化
Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 8
ListBox1.ColumnWidths = "90;40;20;100;100;100;20;30"
ListBox1.List = Worksheets("入出庫履歴").Range("B3:I3").Value
End Sub
まとめ
それでは、入出庫履歴をすべて表示してみましょう。
入出庫履歴は、セルB3からセルI8までなので、Range(“B3:I8”).Value
となります。
'ユーザーフォーム初期化
Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 8
ListBox1.ColumnWidths = "90;40;20;100;100;100;20;30"
ListBox1.List = Worksheets("入出庫履歴").Range("B3:I8").Value
End Sub
まとめ
たぶん気付いていると思いますが、入出庫履歴は増えていきます。
このままでは、ダメですよね?
次回 入出庫履歴、どがんかせんといかん!!
コメント