2016-11-17 8 views
1

Sheet1の使用範囲をクリアしたいが、A8以下で始まる。私はA7のデータをそのまま残したいと思っていますが、その範囲を下回るものはすべてクリアします。私はこの構文を試しましたが、それはブックの終わり( "使用された範囲")の最後まで行っていません。そして、はい、使用範囲の最後のセルには、私が使用範囲の最後に行A8からのデータですべてのセルをクリアすることができます特定のセルで始まる使用済み範囲をクリアする

For LastRow = 2 To Worksheets("Sheet1").Range("A65536").End(xlUp).Row 
    Next LastRow 
Range("A" & LastRow).ClearContents 
A65536

前にどのように?

答えて

1

あなたは以下しようと接近している - この方法は、あなたが「終わりの範囲」を指定する必要はありません。それは、行8

With Sheets("Sheet1") 
    .Rows(8 & ":" & .Rows.Count).Delete 
End With 
+0

パーフェクト、 –

+3

注意しなければならないこと:「ClearContents」ではなく「Delete」を使うことには欠点があります - 最初の7行の中の式を参照しています後の行が壊れてしまいます(例えば、D7に '= SUM(D8:D5000)'が含まれていると '= SUM(#REF!)'に置き換えられます)。それはOPのための問題であるように見えないが、他のユーザーはそれによってキャッチされるかもしれない。 – YowE3K

0

あなたのコード(ループで何もしない以外)は、1つのセルのアドレスだけを作成します。ただ、8:42ようRangeを構築したり、最後の行が何であれ、明確なこと:

With Worksheets("Sheet1") 
    .Range("8:" & .Range("A65536").End(xlUp).Row).ClearContents 
End With 
0

または依存しないバージョン以下すべて削除されます(あなたが持っているExcelのバージョンのために食料調達する、それが2^16または65536行を持つエクセル2003である)

Range([a8], Cells(Rows.Count, "A")).EntireRow.ClearContents 
関連する問題