Vba IsEmpty()引发运行时错误
我想得到的只是下面代码中空单元格前面的计数:Vba IsEmpty()引发运行时错误,vba,excel,excel-2007,Vba,Excel,Excel 2007,我想得到的只是下面代码中空单元格前面的计数: Dim l As Long Dim r As Long For l = 0 To 65866 If IsEmpty(wb.Worksheets("Fund Position(URIL)").Range("A1")) Then Exit For Else r = r + 1 End If Next l MsgBox r 上面的代码在执行if语句时抛出了一个自动化错误,
Dim l As Long
Dim r As Long
For l = 0 To 65866
If IsEmpty(wb.Worksheets("Fund Position(URIL)").Range("A1")) Then
Exit For
Else
r = r + 1
End If
Next l
MsgBox r
上面的代码在执行if
语句时抛出了一个自动化错误
,其中包含一个运行时错误:-2147221080(80040188)
请帮忙
更新:
我变了
如果是空的(wb.工作表(“基金头寸(URIL)”).Range(“A1”)),则
致:
它成功了。有人能解释一下为什么会这样吗?这就是你要尝试的吗
Sub Sample()
Dim wb As Workbook
Dim ws As Worksheet
Dim l As Long
Set wb = ThisWorkbook
Set ws = wb.Worksheets("Fund Position(URIL)")
For l = 1 To 65866
With ws
If IsEmpty(.Range("A" & l)) Then Exit For
End With
Next l
MsgBox l
End Sub
我想你是想找到A列中最后一行有数据的行吧?如果是的话,那么请看,实际上,我正在试图找到列A中的第一个空行。第一个空行可能意味着两件事。。。让我们说<代码> A1-A10有数据,然后<代码> A11< /代码>是你想要的空白单元格。另一个场景<代码>A1-A5有数据,然后A7-A10有数据。在这种情况下,您希望在后一种情况下使用
A6
还是A11
,其中空单元格出现在两个非空单元格范围之间。这就是我的设想。因此,我想要A6。你不能保持.Range(“A1”)
恒定吗?否则,您将如何找到哪一行是空的?看到我发布的答案了吗?是的,但我通过将工作表
替换为工作表
完成了它,它成功了。虽然我不知道有什么不同,但那是错误的。不能保持.Range(“A1”)恒定。否则你怎么才能找到哪一行是空的?我肯定是的。尽管如此,你还是很有帮助:)
Sub Sample()
Dim wb As Workbook
Dim ws As Worksheet
Dim l As Long
Set wb = ThisWorkbook
Set ws = wb.Worksheets("Fund Position(URIL)")
For l = 1 To 65866
With ws
If IsEmpty(.Range("A" & l)) Then Exit For
End With
Next l
MsgBox l
End Sub