通过vbs

时间:2018-10-08 11:42:29

标签: excel vbscript hp-uft uft14

我正在尝试通过vbscript在excel中的工作表中查找第一个空行的编号。 有人可以帮我怎么做吗? 那就是我所做的:

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

如果工作表为空,则无法正常工作。 谢谢!

4 个答案:

答案 0 :(得分:0)

您可以通过执行xlDown检查是否到达第1048576行(​​那是工作表的最后一行)。

答案 1 :(得分:0)

您现在修改的 (带有xlup)脚本将返回该列中的最后一个非空行;除非该列为空,否则它将返回1。因此,如果要第一行为空,则需要添加1

除非,否则脚本将返回1。在这种情况下,您需要检查A1是否为空,并且仅添加1

答案 2 :(得分:0)

您说的答案是

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

谢谢大家

答案 3 :(得分:0)

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

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

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