|
おはようございます。
>質問なんですが、このコードだとオートフィルタ後のデータの、上から
>連続した行しかListBoxに表示されません。
>データ数が多い為、他のセルでもオートフィルタをかけ、絞込み後にListBox
>から欲しい行を抽出しようとしたのですが、やはりListBoxに表示されるのは
>上から連続した行のみになってしまいます。
>
>例えば、オートフィルタ後に抽出された行が2,3,6,7,9だったとすると、
>ListBoxに表示される行は、2,3だけになってしまいます。
>
>オートフィルタ後に表示されている全ての行をListBoxに表示する方法はないでしょうか?
Sheet2を作業シートとして利用すれば、これでてきるかな。
Dim rng As Range
Dim LastRow As Long
With Sheets("Sheet1")
'一度AutoFilterを解除
If .AutoFilterMode Then
.Range("A1").AutoFilter
End If
'
.Range("A1").AutoFilter Field:=1, _
Criteria1:="*" & TextBox1.Text & "*"
LastRow = .Range("A65536").End(xlUp).Row
Set rng = .Range("A1:B" & LastRow).SpecialCells(xlCellTypeVisible)
End With
'
'Sheet2を作業シートとして利用
Sheets("Sheet2").Cells.Clear
rng.Copy Sheets("Sheet2").Range("A1")
'Sheet2!A1:A3 ListBox1.List =
'
ListBox1.ColumnCount = 2
ListBox1.RowSource = "Sheet2!" & Sheets("Sheet2").UsedRange.Address(0, 0)
Set rng = Nothing
|
|