| 
    
     |  | こんにちは。かみちゃん です。 
 >従って、下記の様に(1):(2)のセル範囲を指定して削除したい
 
 A列の値が入っている最終行より下の行以下を削除したいということでしたら、
 Range(Range("A" & Rows.Count).End(xlUp).Offset(1), Range("P" & Rows.Count)).Select
 で削除対象範囲が選択されますから、
 
 マクロの記録のコードを流用して、
 
 Range(Range("A" & Rows.Count).End(xlUp).Offset(1), Range("P" & Rows.Count)).Select
 Selection.Delete Shift:=xlUp
 
 として、さらに
 
 Range(Range("A" & Rows.Count).End(xlUp).Offset(1), Range("P" & Rows.Count)).Delete Shift:=xlUp
 とします。
 
 ただし、このようにしなくても、
 
 > Range("O2").Select
 > ActiveCell.FormulaR1C1 = "=IF(RC[-2]=RC[-1],""○"",""×"")"
 > Selection.AutoFill Destination:=Range("O2:O555")
 
 これらのマクロをA列の値が入っている最終行までにすればいいのではないでしょうか?
 
 > 別に良い方法があれば、教えてください。
 
 今回の質問とは関係ないかもしれませんが、
 AccessからどのようにExcelに取得しているのでしょうか?
 ExcelからAccessのデータをVBAでCopyFromRecordsetを使って、抽出できるのはご存知ですか?
 
 |  |