| 
    
     |  | ▼たかし さん: 
 >エラーの回避方法があれば
 
 フィルタかけたあと、
 ある列の可視行数 .SpecialCells(xlCellTypeVisible).Count
 を取得して、その数に対して条件分岐すればよいのではないでしょうか?
 
 たとえば, 提示のサンプルで B列に対して "BBB"でフィルタをかけたとすると、
 
 Dim n As Long
 Dim CA As Long, CE As Long
 With Worksheets("AAAA")
 .AutoFilterMode = False
 With .Range("A1").CurrentRegion.Columns(2)
 .AutoFilter 1, "BBB"
 n = .SpecialCells(xlVisible).Count
 Select Case n
 Case 1
 MsgBox "抽出なし"
 Case Else
 CE = .Cells(.Cells.Count + 1).End(xlUp).Row
 CA = .SpecialCells(xlVisible).Areas.Item(2).Row
 MsgBox CA & ", " & CE, , n - 1 & "行抽出"
 End Select
 .AutoFilter
 End With
 End With
 
 |  |