微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VBA:与If语句嵌套

如何解决VBA:与If语句嵌套

在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。

谷歌搜索出现one hit,与我的问题不完全相同。

解决方法

尝试如下

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结构中。在这种情况下,您必须记住领先。指当前范围。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。