| 
    
     |  | みなさま、こんにちは。 
 フィルタオプション使ってみました。
 エラー処理はしてません。
 
 Sub test()
 
 Dim rngTarget      As Range    '処理対象レンジオブジェクト
 Dim rngCriteria     As Range    '条件設定レンジオブジェクト
 Dim lngLoop       As Long     'ループカウンタ
 
 Application.ScreenUpdating = False   '画面更新処理停止
 
 'フィルタ仕様のための準備
 Rows(1).Insert Shift:=xlDown
 Columns(3).Insert Shift:=xlToRight
 Range(Cells(1, 1), Cells(1, 3)).Value = "col1"
 
 '抽出条件設定
 Cells(2, 3).Value = "CJ10"
 Cells(3, 3).Value = "CJ20"
 Cells(4, 3).Value = "CJ30"
 Set rngCriteria = Range(Cells(1, 3), Cells(4, 3))
 
 '処理対象レンジ設定
 Set rngTarget = Range("A1", Cells(Rows.Count, 1).End(xlUp).Offset(, 1))
 
 'フィルタリング
 rngTarget.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=rngCriteria, Unique:=False
 
 '非表示行削除
 For lngLoop = rngTarget.Rows.Count To 2 Step -1
 If Cells(lngLoop, 1).EntireRow.Hidden Then Cells(lngLoop, 1).EntireRow.Delete Shift:=xlUp
 Next lngLoop
 
 'オブジェクト開放
 Set rngTarget = Nothing
 Set rngCriteria = Nothing
 
 '全データ表示
 ActiveSheet.ShowAllData
 
 '作業行/列削除
 Rows(1).Delete Shift:=xlUp
 Columns(3).Delete Shift:=xlToLeft
 
 Application.ScreenUpdating = True    '画面更新処理再開
 
 End Sub
 
 |  |