回答編集履歴
1
コード追記
answer
CHANGED
@@ -46,6 +46,37 @@
|
|
46
46
|
End With
|
47
47
|
|
48
48
|
End Sub
|
49
|
+
```
|
49
50
|
|
51
|
+
別案
|
52
|
+
---
|
50
53
|
|
54
|
+
エクセルの機能を活用しましょう。
|
55
|
+
まずシート上に見出しとデータを入力します。
|
56
|
+
入力したセル範囲を選択して「テーブルとして書式設定」でテーブル化します。
|
57
|
+

|
58
|
+
|
59
|
+
リボンの「数式」→「名前の管理」をクリックすると表の範囲が「テーブル1」という名前が自動でついているのが確認できます。ここでテーブル名は内容を表す分かり安いものにしておいてもいいでしょう。
|
60
|
+
シート名は「TableSheet」としておきます。
|
61
|
+
|
62
|
+
リストボックスのRowSourceプロパティにこのテーブル名を設定しておくとテーブルと関連付けられてテーブルのデータが表示されてます。
|
63
|
+
テーブルを並べ替えたり、フィルターをかけるとリストボックスにも反映されます。
|
64
|
+
|
65
|
+
```vba
|
66
|
+
Private Sub UserForm_Initialize()
|
67
|
+
With Me.ListBox1
|
68
|
+
.ColumnCount = 2
|
69
|
+
.ColumnHeads = True
|
70
|
+
.RowSource = "TableSheet!テーブル1"
|
71
|
+
End With
|
72
|
+
End Sub
|
73
|
+
|
74
|
+
Private Sub CommandButton1_Click()
|
75
|
+
With Worksheets("TableSheet")
|
76
|
+
.Range("TableSheet").Sort _
|
77
|
+
Key1:=.Range("テーブル1[時刻]"), _
|
78
|
+
Order1:=xlAscending, _
|
79
|
+
Header:=xlYes
|
80
|
+
End With
|
81
|
+
End Sub
|
51
82
|
```
|