问题描述
在VBA中是否嵌套了“允许”?如果是的话,如何在IF语句中使用它?
我将以下嵌套With与If语句结合使用,编译器给我一个错误消息,提示“ End With Without With”。
With
If
With
End With
Else
End With <- End With without With
End If
我将第一个With放在IF语句之外,因为IF语句可以使用它。由于上述代码无效,因此我尝试了另一种方法。如果我将第一个With移到IF语句中,则会获得另一个错误消息。这次,错误消息显示“没有If的其他”。这使我想知道VBA中是否允许嵌套With。
解决方法
尝试如下
With
If <Logical Test> Then
With
'Your action here
End With
Else
'Your other actions here.
End If
End With
,
“带结束符”结构仅适用于当前范围。 if else的范围不同于else endif。因此,with应该要么包含整个if语句,要么分别出现在每个范围内。
完全有可能将一个with with嵌套在其他With With With结构中。在这种情况下,您必须记住领先。指当前范围。