Rik*_*Rik 3 excel vba excel-vba
在VBA中是否有等效的python"pass"在代码中什么都不做?
例如:
For Each ws In ThisWorkbook.Sheets
If ws.Name = "Navy Reqs" Then
ws.Select
nReqs = get_num_rows
Cells(1, 1).Select
If ActiveSheet.AutoFilterMode Then Cells.AutoFilter
Selection.AutoFilter
ElseIf ws.Name = "temp" Then
pass
Else
ws.Select
nShips = get_num_rows
End If
Next
Run Code Online (Sandbox Code Playgroud)
我在这里得到一个错误,没有定义pass.谢谢.
不要包含任何语句:
Sub qwerty()
If 1 = 3 Then
Else
MsgBox "1 does not equal 3"
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
只需将其留空。您还可以使用 Select 语句,它更易于阅读。
For Each ws In ThisWorkbook.Sheets
Select Case ws.Name
Case "Navy Reqs":
'...
Case "temp":
'do nothing
Case Else:
'...
End Select
Next
Run Code Online (Sandbox Code Playgroud)
编写代码,说到做到,说到做到。
For Each ws In ThisWorkbook.Sheets
If ws.Name = "Navy Reqs" Then
ws.Select
nReqs = get_num_rows
Cells(1, 1).Select
If ActiveSheet.AutoFilterMode Then Cells.AutoFilter
Selection.AutoFilter
Else If ws.Name <> "temp" Then
ws.Select
nShips = get_num_rows
End If
Next
Run Code Online (Sandbox Code Playgroud)
这就是你所需要的。VBA 中不存在表示“这里有一些无用的代码”的指令。
您需要说明原因的评论,而不是说明内容的评论 - 评论与'do nothing此完全相反。不要编写无操作代码,这是纯粹的噪音。
假设 Python 的pass工作方式类似于 C# 的continue语句并跳转到下一次迭代,那么 VBA 等效项是唯一合法使用的GoTo跳转:
For ...
If ... Then GoTo Skip
...
Skip:
Next
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41597 次 |
| 最近记录: |