通过 vbs 在 excel 的第一列中找到第一个空单元格的行号

find the row number of the first empty cell in the first column in excel via vbs

我试图通过 vbscript 在 excel 中找到我的 sheet 中第一个空行的编号。 有人可以帮我解决这个问题吗? 我就是这么做的:

With objSheet
    iRow = .Range("A" & .Rows.Count).End(xlUp).Row
End With
msgbox iRow

如果 sheet 为空,则效果不佳。 谢谢!

您可以通过 xlDown 检查是否到达第 1048576 行(这是 sheet 的最后一行)。

您现在修改(使用 xlup)脚本将 return 列中的最后一个非空行;除非该列为空,在这种情况下它将 return 一个 1。所以如果你想要第一个空行,你需要添加 1.

除非脚本return是1。在这种情况下,您需要检查 A1 是否为空,如果是则只添加 1

你说的答案是:

With objSheet
    If objSheet.Cells(1,1).value = "" Then
        iRow = 1
    else
        iRow = .Range("A" & .Rows.Count).End(xlUp).Row + 1
    End If
End With

谢谢大家

要获取列中的第一个空单元格,您可以使用:

With objSheet
    If .Range("A1") = "" Then
        iRow = 1
    ElseIf .Range("A2") = "" Then
        iRow = 2
    Else
        iRow = .Range("A1").End(xlDown).Offset(1, 0).Row
    End If
End With

您必须首先检查第一行或第二行是否为空,因为如果第一行非空而第二行为空,End(xlDown) 的行为会有所不同,它可以跳过它并且 returns错误的值。