回答編集履歴

1

コード追記

2020/12/31 03:06

投稿

hatena19
hatena19

スコア33759

test CHANGED
@@ -13,3 +13,69 @@
13
13
 
14
14
 
15
15
  .Listプロパティには配列を代入できます。Split関数で文字列を配列に変換します。
16
+
17
+
18
+
19
+ 別案
20
+
21
+ ---
22
+
23
+ Collection の代わりに Dictionary を使うと追加したデータを簡単に配列として取り出せますのでシンプルなコードにできます。Keysプロパティでキーを配列として、Itemsプロパティでアイテムを配列として取り出せます。
24
+
25
+ ただし、参照設定で Microsoft Scripting Runtime にチェックを入れておく必要があります。
26
+
27
+
28
+
29
+ ```vba
30
+
31
+ Public Sub Addbtn_Click()
32
+
33
+ Dim Data As New Dictionary
34
+
35
+ Dim intD As Long, i As Long
36
+
37
+ intD = Cells(3, 1).End(xlDown).Row '最終行
38
+
39
+ For i = 3 To intD
40
+
41
+ Data(Cells(i, 1).Value) = i
42
+
43
+ Next i
44
+
45
+
46
+
47
+ Dim cmdAdd_1 As MSForms.ComboBox
48
+
49
+ Set cmdAdd_1 = Me.Controls.Add("Forms.ComboBox.1", "Tzya", True)
50
+
51
+ With cmdAdd_1
52
+
53
+ .List = Data.Keys
54
+
55
+ .Top = 58
56
+
57
+ .Left = 70
58
+
59
+ .Height = 20
60
+
61
+ .Width = 250
62
+
63
+ .BorderStyle = fmBorderStyleSingle
64
+
65
+ .BackColor = RGB(255, 255, 255)
66
+
67
+ .ForeColor = RGB(0, 0, 0)
68
+
69
+ .Font.Name = "メイリオ"
70
+
71
+ .TextAlign = 2
72
+
73
+ .FontSize = 10
74
+
75
+ .Text = ""
76
+
77
+ End With
78
+
79
+ End Sub
80
+
81
+ ```