| 
    
     |  | ▼gin さん: こんにちは〜
 
 >しかし、何度もシートを開いてマクロを実行する為
 >目まぐるしいですし時間もかかります。
 については、すでにアドバイスのあるように Selectしない!方針で。
 
 
 あと、
 行削除は重い処理なので、できれば、一括して、削除でなく、
 該当行をクリアすることで対応したい。
 ということで、作業列を使って削除行を表の下方に集め、一括クリアする
 方法をご紹介します。
 
 Option Explicit
 
 Sub Try1()
 'Sheet1.A列削除リスト アドレス
 Dim Address As String
 With Worksheets(1)
 Address = .Range("A1", .Cells(.Rows.Count, 1).End(xlUp)) _
 .Address(1, 1, xlR1C1, True)
 End With
 
 
 'Sheet2.B列に数式書き込み
 With Worksheets(2).Range("A1").CurrentRegion.Resize(, 2)
 .Columns(2).FormulaR1C1 _
 = "=IF(ISERROR(MATCH(RC[-1]," & Address & ",0)),False,1)"
 'B列でソート
 .Sort Key1:=.Columns(2), Header:=xlNo
 '不要行をクリア (最低1行は該当行があるものと仮定)
 .Columns(2).SpecialCells(xlCellTypeFormulas, xlLogical) _
 .EntireRow.Clear
 'B列をクリア
 .Columns(2).Clear
 End With
 
 End Sub
 
 |  |