| 
    
     |  | ▼かみちゃん さん: 
 早速の返信、どうもありがとうございます。
 
 
 >マクロの前に、一般操作で、特定の範囲を削除することはできますか?
 ↓
 通常のセル範囲は、削除することはできます。
 
 >できるなら、その操作を「マクロの記録」で記録してみてはいかがですか?
 ↓
 ' 不要セルを削除する Macro
 
 Range("A164:P555").Select
 Selection.Delete Shift:=xlUp
 Range("A164").Select
 
 かみちゃんさんの指摘とおり、上記のマクロを組み込んで動作確認を行ったところ
 不要セルを削除できました。
 
 でも、これは、データが<163行専用>なのです。
 
 仕事で、ACCESS-2007を使い、データを抽出してEXCEL-2007で編集しているのです
 がこのデータ量が毎回不定で困っています。
 
 データの行数が、多い時で<530行>の時もあれば、少ない時で<80行>の時も
 あり、毎回行数が一定でないのです。
 
 毎日、仕事でデータ編集するのですが、データの行数が過去に一度も<555行>
 を超えたことが無かったので、勝手に編集する行数範囲を最大で<555行>と
 決めちゃいました。
 
 >それでわからなければ、記録したマクロを提示してみてください。
 ↓
 まだ、低レベルで、直接マクロを記述するスキルが無いので、EXCELのマクロ記録
 機能を使い、マクロを作成しました。
 下記に作成したマクロの一部分を抜粋しましたので、確認お願いします。
 
 '[指示数]=[完了実績数]ならば、フラグ⇒○、ステータス⇒試済
 '非ならば、フラグ⇒×、ステータス⇒未
 Range("O2").Select
 ActiveCell.FormulaR1C1 = "=IF(RC[-2]=RC[-1],""○"",""×"")"
 Selection.AutoFill Destination:=Range("O2:O555")
 Range("O2:O555").Select
 Range("P2").Select
 ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""○"",""試済"",""未"")"
 Selection.AutoFill Destination:=Range("P2:P555")
 Range("P2:P555").Select
 ActiveWindow.SmallScroll Down:=9
 Range("O2").Select
 ActiveCell.FormulaR1C1 = "=IF(RC[-2]=RC[-1],""○"",""×"")"
 Selection.AutoFill Destination:=Range("O2:O555")
 Range("O2:O555").Select
 Range("P2").Select
 ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""○"",""試済"",""未"")"
 Selection.AutoFill Destination:=Range("P2:P555")
 Range("P2:P555").Select
 ActiveWindow.SmallScroll Down:=9
 
 セル<M164〜M555>と、セル<N164〜N555>が共に空白である為に、
 セル<O164〜O555>にフラグの『○』が入ります。
 
 また、セル<P164〜P555>にステータスの『試済』が入ってしまいます。
 
 実際には、今回のデータは全部で<163行>しか無いのに、164行目〜555行目に
 フラグの『○』と、ステータスの『試済』が全て入るので、この不要箇所を削除
 したいと考えています。
 
 従って、下記の様に(1):(2)のセル範囲を指定して削除したいのですが、
 これって、無理なのでしょうか?
 
 'セル[A1]の最下端行から1つ下の行にあるセルを選択する
 Range("A1").End(xlDown).Offset(1).Select    ←(1)
 
 'セル[P1]の最下端行にあるセルを選択する
 Range("P1").End(xlDown).Offset(0).Select    ←(2)
 
 別に良い方法があれば、教えてください。
 
 
 |  |