2012-08-06 122 views
15

我有一個很長的變量X包含一個數字。假設它是415.如何刪除VBA/Excel中X行下面的所有內容?

如何刪除第415行及以下的工作表上的所有內容?

我想確保我的電子表格在第415行以及其他任何可能位於其下的內容中都是乾淨的。

我該怎麼做?謝謝。

回答

32

聽起來有點像下面將滿足您的需求:

With Sheets("Sheet1") 
    .Rows(X & ":" & .Rows.Count).Delete 
End With 

其中x是=行號(415)

+0

執行此代碼的最佳做法是什麼? – Dror 2014-08-07 13:56:59

+0

同意。我在哪裏粘貼這段代碼來運行它? – 2015-10-02 13:33:50

+0

你可以使用宏,vba – 2017-01-06 10:18:37

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

這幫了我。可選的末端和/或行將更加酷。 ;) – 2017-05-23 03:06:38

-1

任何引用到「行」應該用「長」不「整」否則,如果電子表格有很多會溢出數據的。