2012-08-06 19 views
15

私は数値を含む長い変数Xを持っています。 415と言う。VBA/ExcelのX行以下のすべてを削除するにはどうすればよいですか?

行415以下のワークシートのすべてを削除するにはどうすればよいですか?

私は、スプレッドシートがRow 415とその下にある可能性があるものについてはクリーンであるようにしたいと考えています。

どうすればよいですか?ありがとう。

答えて

32

それは以下のあなたのニーズに合うようなもののように聞こえる:

With Sheets("Sheet1") 
    .Rows(X & ":" & .Rows.Count).Delete 
End With 
Xは、行番号を=変数である

(415)

+0

このコードを実行するベストプラクティスは何ですか? – Dror

+0

合意。このコードをどこに貼り付けて実行するのですか? –

+0

マクロを使うことができます.VBA –

11

別のオプションは、Sheet1.Rows(x & ":" & Sheet1.Rows.Count).ClearContents(または.Clear)です。 .Deleteの代わりにこのメソッドを使用する理由は、削除された範囲に依存するセル(たとえ空であってもそれらのセルを参照する数式)が#REFになるためです。このメソッドは、クリアされたセルへの式参照を保持します。

1

この関数は、指定された行と列から始まるシートのデータが消去されます:

Sub ClearWKSData(wksCur As Worksheet, iFirstRow As Integer, iFirstCol As Integer) 

Dim iUsedCols As Integer 
Dim iUsedRows As Integer 

iUsedRows = wksCur.UsedRange.Row + wksCur.UsedRange.Rows.Count - 1 
iUsedCols = wksCur.UsedRange.Column + wksCur.UsedRange.Columns.Count - 1 

If iUsedRows > iFirstRow And iUsedCols > iFirstCol Then 
    wksCur.Range(wksCur.Cells(iFirstRow, iFirstCol), wksCur.Cells(iUsedRows, iUsedCols)).Clear 
End If 

End Sub 
+0

これは私を助けました。任意の終端の列および/または行は、さらに冷却される。 ;) –

-1

「行」への言及スプレッドシートをたくさん持っている場合、それがオーバーフローするほかの「長い」ではない「整数」を使用する必要がありますのデータ。

関連する問題