| 
    
     |  | ▼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行目のみがリストボックスに表示されますが、その様に動作せず今入っている全データの行が表示されます。
 何処が悪いのか分からないので、すいませんがご指導お願いします。
 
 
 |  |