|
▼LIO さん
こんにちは
もっと効率がいいやり方があるかと思いますが、
とりあえず、作ってみたら出来たので(みたい・・・)
というレベルなんですが、よかったらお試し下さいませ。
'==============================================
Private Sub UserForm_Initialize()
Dim i As Long
With ComboBox1
For i = 1 To 3 ’とりあえずA列の値が「3」までとして
.AddItem i
Next i
.Style = fmStyleDropDownList
End With
With ListBox1
.ColumnCount = 3
.ColumnWidths = "30,60,60"
End With
End Sub
'==============================================
Private Sub ComboBox1_Change()
Dim lngNO As Long
Dim i As Long
Dim ws As Worksheet
Dim ArData()
Dim k As Long
With Worksheets("Sheet1")
lngNO = ComboBox1.Value
k = 0
For i = 1 To Range("a65536").End(xlUp).Row
If Cells(i, 1).Value = lngNO Then
ReDim Preserve ArData(3, k)
ArData(0, k) = Cells(i, 1).Value
ArData(1, k) = Cells(i, 2).Value
ArData(2, k) = Cells(i, 3).Value
k = k + 1
End If
Next i
End With
ListBox1.Column() = ArData
Erase ArData
End Sub
'==============================================
配列の扱い、こんなんでいいのかな・・・・
と、ここまでかいて気がついた
>また実際のシート1には1000行20列程のデータが記載されております
そんなデータ量だったら、こんなやり方はダメなんかなあ・・・・
|
|