|
▼Kobasan さん:
大変申し訳ありませんが、またリストボックスで悩んでおります。
前回は、リストボックスにセットする配列が、一つだったのですが、
今回は、それぞれのリストボックスにそれぞれの配列をセットしたいのですが、
Private Sub UserForm_Initialize() '品名一覧
Dim myAr1 As Variant
Dim myAr2 As Variant
Dim myAr3 As Variant
Dim myAr4 As Variant
Dim myAr5 As Variant
Dim myAr6 As Variant
Dim myAr7 As Variant
Dim myAr8 As Variant
Dim myAr9 As Variant
Dim myAr10 As Variant
Dim myAr11 As Variant
myAr1 = Worksheets("U1").Range("A50:A68").Value '配列を指定
myAr2 = Worksheets("U1").Range("B50:B57").Value
myAr3 = Worksheets("U1").Range("C50:C63").Value
myAr4 = Worksheets("U1").Range("D50:D64").Value
myAr5 = Worksheets("U1").Range("E50:E66").Value
myAr6 = Worksheets("U1").Range("A70:A83").Value
myAr7 = Worksheets("U1").Range("B70:B77").Value
myAr8 = Worksheets("U1").Range("C70:C81").Value
myAr9 = Worksheets("U1").Range("D70:D77").Value
myAr10 = Worksheets("U1").Range("E70:E76").Value
myAr11 = Worksheets("U1").Range("F70:F79").Value
For i = 1 To 11
Controls("ListBox" & i).List = myAr ←この部分をどのように?
Controls("ListBox" & i).ListIndex = 0
Next
それとも他の書き方をしたほうがいいのでしょうか?
また、
Option Explicit
Dim i As Long
Dim myStr As String
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
myStr = myStr & .List(i, 0)
End If
Next
End With
品名書込
End Sub
Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
myStr = myStr & .List(i, 0)
End If
Next
End With
品名書込
End Sub
このように同じ様なコードを11回書いていますが、これらをまとめるような
書き方はあるのでしょうか?
お忙しいところ申し訳ありませんが、ご教示宜しくお願い致します。
|
|