VBA如何在函数中使用可选参数

如何在Visual Basic中使用可选参数来执行应用程序

下面的代码接收一系列的string,并用分隔符将它们连接起来。

Function concat(range, sep) mystring = "" For Each item In range mystring = mystring & sep & item Next mystring = Right(mystring, Len(mystring) - Len(sep)) 'removes preceding separator concat = mystring End Function 

我想sep是一个可选参数,所以我可以调用concat(范围),而不是concat(范围;“”)

在Python中的例子:

 def concat(range, sep="") mystring = "" for i in range: mystring += sep + i mystring = mystring[len(sep)::] return mystring 

你会想要声明的types。

使用关键字Optional

 Function concat(rng As range, Optional sep As String = "") Dim mystring As String Dim itm As range mystring = "" For Each itm In rng mystring = mystring & sep & itm Next mystring = Right(mystring, Len(mystring) - Len(sep)) 'removes preceding separator concat = mystring End Function