|
▼kanabun さん:
何度もすいませんです。
次の様にしました。Fは6列目なので5→6AJは36にしてみました。
Private Sub CommandButton42_Click()
Dim ss As String
Dim CopyTo As Range '抽出先
Dim i As Long, j As Long
ss = "*" & TextBox50.Value & "*"
With Worksheets("WAREA")
.UsedRange.ClearContents
Set CopyTo = .Range("A1")
j = -1
End With
Application.ScreenUpdating = False
With Worksheets("DATA").Range("A1").CurrentRegion
For i = 6 To 36 Step 6
With .Columns(i).Resize(, 5)
.AutoFilter 2, ss
If .Columns(1).SpecialCells(xlVisible).Count > 1 Then
Intersect(.Cells, .Offset(1 + j)).Copy CopyTo
Set CopyTo = Worksheets("WAREA").Cells(Rows.Count,1) _
.End(xlUp).Offset(1)
j = 0
End If
.AutoFilter
End With
Next
End With
Application.ScreenUpdating = True
'抽出データをリストボックスにセット
With ListBox1
.ColumnHeads = True
.ColumnCount = 4
.ColumnWidths = "25;55;40;60;"
End Sub
で動かしましたが、エラーは出ませんがやはりうまくフィルターされませんでした。
例として、F列(6列目)に入っているデータを検索しましたが、エラーは出ませんでしたが、フィルターされていませんでした。具体的には、F列三島と入っているデータが3行目に入っていますが、これをテキストボックスに*三島*と入れて検索すると、フィルターをうまく通れば3行目のみがリストボックスに表示されますが、その様に動作せず今入っている全データの行が表示されます。
何処が悪いのか分からないので、すいませんがご指導お願いします。
|
|