如何删除VBA / Excel中第X行下面的所有内容?

时间:2012-08-06 21:12:02

标签: excel vba

我有一个包含数字的长变量X.说它是415。

如何从第415行及以下删除工作表上的所有内容?

我想确保我的电子表格在第415行以及可能位于其下方的任何其他内容都是干净的。

我该怎么做?感谢。

4 个答案:

答案 0 :(得分:38)

听起来像下面的内容符合您的需求:

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

其中X是变量=行号(415)

答案 1 :(得分:12)

另一个选项是Sheet1.Rows(x & ":" & Sheet1.Rows.Count).ClearContents(或.Clear)。您可能希望使用此方法而不是.Delete的原因是因为在删除范围内具有依赖关系的任何单元格(例如,引用这些单元格的公式,即使为空)也将最终显示#REF。此方法将保留对已清除单元格的公式引用。

答案 2 :(得分: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

答案 3 :(得分:-1)

任何对'Row'的引用都应该使用'long'而不是'integer',否则如果电子表格有大量数据,它将会溢出。