Excel VBA-是否有带有ELSE选项的“on error”语句?

Excel VBA-是否有带有ELSE选项的“on error”语句?,excel,vba,Excel,Vba,在VBA中,在excel单元格中使用变量需要两个选项: 如果单元格中有值 如果单元格中没有值 我假设VBA会给我一个错误,如果我试图读取一个单元格时,其中没有任何内容,所以不知道如何做 我想做一些像 A=sheet1.cells(1,1).value on error goto fail fail: A=0 ' need to continue here, with A from the cell or set to 0 B=A+1 虽然Scott在评论中的回答肯定是正确的,但我通常使用Le

在VBA中,在excel单元格中使用变量需要两个选项:

如果单元格中有值 如果单元格中没有值 我假设VBA会给我一个错误,如果我试图读取一个单元格时,其中没有任何内容,所以不知道如何做

我想做一些像

A=sheet1.cells(1,1).value
on error goto fail

fail:
A=0
' need to continue here, with A from the cell or set to 0
B=A+1

虽然Scott在评论中的回答肯定是正确的,但我通常使用Len函数来检查空单元格或字符串

If len(A) = 0 then
' do sth
else
' sth else
end if 
另一个问题的答案是:如果sheet1.cells1,1.value=then:A=0:Else:A=sheet1.cells1,1.value:End如果我也喜欢Len函数,因为它比直接访问字符串的开销要小,但在尝试访问其值之前,最好先检查单元格错误:如果不是IsErrorSheet1.Cells1,1则a=Sheet1.Cells1,1.Value2