在 VBA 中是否有等效于 Python 的 pass 语句?
Is there an equivalent of Python's pass statement in VBA?
我想知道 Python 在 VBA 中是否有等价的 pass 语句。
我正在使用 Excel 2016.
可能您正在寻找 "Stop" 语句。
它的好处是它不会清除你的变量。
这取决于您要实现的目标。
您可以声明一个标签,然后使用 GoTo 标签,例如在您的代码中声明一个标签(如 Skip:),如果满足条件则要跳转,然后使用 GoTo Skip
下面是小演示代码,让您对此有所了解...
Dim i As Long
For i = 1 To 10
If i = 5 Then GoTo Skip
MsgBox i
Next i
Skip:
在Pythonyou need the Pass
,因为否则方法不会运行。
在 VBA 中,如果你留下一个像这样的空方法就完全可以了:
Public Function Foo() As String()
End Function
如果您正在寻找可用于插入断点的 "non-statement",那么使用 Stop
(参见 )似乎是最好的做法,因为Stop
命令会导致代码在到达时中断,即您甚至不需要将其标记为断点,因为它 是 一个。
您可能还想考虑使用 Debug.Assert some_logical_expression
,只要逻辑表达式的计算结果为 False
,它就会自动中断。所以 Debug.Assert False
等同于 Stop
,Debug.Assert x = 3
等同于 If x <> 3 Then Stop
.
我想知道 Python 在 VBA 中是否有等价的 pass 语句。
我正在使用 Excel 2016.
可能您正在寻找 "Stop" 语句。 它的好处是它不会清除你的变量。
这取决于您要实现的目标。
您可以声明一个标签,然后使用 GoTo 标签,例如在您的代码中声明一个标签(如 Skip:),如果满足条件则要跳转,然后使用 GoTo Skip
下面是小演示代码,让您对此有所了解...
Dim i As Long
For i = 1 To 10
If i = 5 Then GoTo Skip
MsgBox i
Next i
Skip:
在Pythonyou need the Pass
,因为否则方法不会运行。
在 VBA 中,如果你留下一个像这样的空方法就完全可以了:
Public Function Foo() As String()
End Function
如果您正在寻找可用于插入断点的 "non-statement",那么使用 Stop
(参见 Stop
命令会导致代码在到达时中断,即您甚至不需要将其标记为断点,因为它 是 一个。
您可能还想考虑使用 Debug.Assert some_logical_expression
,只要逻辑表达式的计算结果为 False
,它就会自动中断。所以 Debug.Assert False
等同于 Stop
,Debug.Assert x = 3
等同于 If x <> 3 Then Stop
.