(Excel) vba 带有可选参数的程序将无法启动

(Excel) vba program with optional argument won't start

我在 VBA(在 Excel)中有一个程序 (Sub),它有一个可选的布尔参数。默认设置为真。当我尝试使用 F8 启动程序时,它向我发出提示音并且什么都不做。当我尝试使用 F5 启动它时,它会显示程序列表(与 Excel 本身内部的 alt-F8 相同)。我要启动的程序不在列表中。

代码的相关部分只是第一行:

Sub PopulateUniqueIngredientItems(可选的 SortSheets As Boolean = True)

如果我需要参数,它就会启动(但由于缺少参数而失败)。

关于我做错了什么有什么想法吗?或者,是不是有参数就不能直接启动一个Sub?

你可以在没有参数的情况下调用它,但可以从另一个 sub:

Sub anotherSub()
 Call PopulateUniqueIngredientItems
End Sub

Sub PopulateUniqueIngredientItems(Optional SortSheets As Boolean = True)

End Sub