Private Sub CommandButton1_Click()

End Sub

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
 Dim putList As String
 Dim ws As Variant
 Set ws = ThisWorkbook.Worksheets(ActiveSheet.Name)
   Debug.Print ActiveSheet.Name;
 
 With ws
   .Range("F1").Value = ListBox1.List(ListBox1.ListIndex, 0)
 End With
 
   'Unload Me
End Sub

'''動的配列

'ごちゃごちゃしているが、要は
'カンマ区切りの文字列を変数に入れ
'これをsplitで分けて配列に一旦格納し
'一旦格納した配列の要素数をUBoundでカウントして
'Uboundでカウントした数の分だけForで回せば
'疑似的に動的に対応できるので、Preserveで再定義してやる必要はない。

'これだとdataは幾らでもデータを楽に格納できる (といっても上限2Gまでだが)
'5000件~1万件くらいなら耐えられるんじゃないだろうか?

'
'あとは設定画面に入力した設定値をCSVに吐き出したものを、
'CSVから目的の指定列を吸い上げて、結合した文字列に
'仕立て上げて変数に入れ込んでやる・・・ところをやれば
'メンテナンス性を上げられる。


Private Sub UserForm_Initialize()
 Dim arg() As Variant
 Dim i As Integer
 Dim ary() As String
 Dim data As String
 Dim cnt As Long
 
 data = "test10,test20,test30,test40,test50,test60"
 
 ary = Split(data, ",")
 
 cnt = UBound(ary)
   Debug.Print "cnt:" & cnt
 
 ReDim arg(cnt)
 
 For i = 0 To cnt
   arg(i) = ary(i)
 Next i
 
' arg(0) = "test01"
' arg(1) = "test02"
' arg(2) = "test03"
' arg(3) = "test04"


 For i = 0 To cnt
   Me.ListBox1.AddItem (arg(i))
 Next i
 

End Sub
最終更新:2016年10月24日 15:02