计算行的更好方法

时间:2014-06-01 09:13:08

标签: excel vba excel-vba

是否有更好的方法可以在不运行整页代码的情况下准确计算表的行数?

我目前正在使用sheet1.usedrange.rows.count,但这甚至会计算以前使用的空白行或行,但稍后会清除内容。

之前我使用过LastRow = Sheet1.Cells(Sheet1.Cells.Rows.Count, "M").End(xlUp).Row但我现在无法使用此列,因为列M或其他任何列都可以包含空白单元格。

我只需要轻松删除没有任何包含内容的单元格的行。

萨拉

1 个答案:

答案 0 :(得分:-1)

您可以遍历表格的每一列,例如:

Sub LastUsedRowInRange()

Dim sh As Worksheet
Dim dLastRow As Double
Dim dCurrRow As Double
Dim sRange As String
Dim rn As Range
Dim i As Integer
Dim iFirstCol As Integer
Dim iLastCol As Integer

Set sh = Sheets("Sheet1")
sRange = "A1:P30"
Set rn = sh.Range(sRange)
iFirstCol = rn.Column
iLastCol = rn.Columns.Count + rn.Column - 1

For i = iFirstCol To iLastCol
    With sh
        dCurrRow = .Range(Cells(.Rows.Count, i), Cells(.Rows.Count, i)).End(xlUp).Row
        dLastRow = IIf(dCurrRow > dLastRow, dCurrRow, dLastRow)
    End With
Next

Debug.Print dLastRow

End Sub