Vba 带可选参数的函数

Vba 带可选参数的函数,vba,excel,Vba,Excel,我试图学习并实现VBA中带有可选参数的函数。我试图在给定要分离的字符或子字符串的字符串中分离值 Private Function SeperateString(MainString As String, Seperator As String) As String { // Body } 例如:我想用分隔符“-”分隔“1-2-3-4-5”或用分隔符“/”分隔“1/2/3/4/5” 我将使用Instr和其他函数编写逻辑。我的疑问是我想传递一个分隔符,所以我不需要为每个分隔符编写一个单独的

我试图学习并实现VBA中带有可选参数的函数。我试图在给定要分离的字符或子字符串的字符串中分离值

Private Function SeperateString(MainString As String, Seperator As String) As String
{

 // Body 

}
例如:我想用分隔符“-”分隔“1-2-3-4-5”或用分隔符“/”分隔“1/2/3/4/5”


我将使用Instr和其他函数编写逻辑。我的疑问是我想传递一个分隔符,所以我不需要为每个分隔符编写一个单独的函数,如果没有传递任何内容,我希望“-”成为默认值。我可以这样做吗?

假设要将
分隔符设置为可选参数,请尝试以下操作:

Private Function SeperateString(MainString As String, _
           Optional Seperator As String = "-") As String

 'Body 
     SeperateString = "result of function"
End Function
用法:

result = SeperateString("whatever-it-is") 'uses default separator
result = SeperateString("whatever-it-is", "*") 'uses another separator

假设要将
分隔符设置为可选参数,请尝试以下操作:

Private Function SeperateString(MainString As String, _
           Optional Seperator As String = "-") As String

 'Body 
     SeperateString = "result of function"
End Function
用法:

result = SeperateString("whatever-it-is") 'uses default separator
result = SeperateString("whatever-it-is", "*") 'uses another separator

哦,这是VBA。没有
{}
也没有
/
,但我相信你知道

然而,我不得不建议,使用
Split()
可能是一个比自己编写更好的选择

哦,这是VBA。没有
{}
也没有
/
,但我相信你知道


但是,我不得不建议,使用
Split()
可能比自己编写更好。

您使用的是VBA而不是C,所以请不要使用这些花括号

当您键入第一行并按Enter键时,VBE将自动添加
结束功能

Private Function SeperateString(MainString As String, Seperator As String) As String

End Function
要使参数成为可选参数,请在其前面使用关键字
optional

范例

Private Function SeperateString(MainString As String, Optional Seperator As String = "-") As String

End Function

你用的是VBA而不是C#所以不要用那些花括号

当您键入第一行并按Enter键时,VBE将自动添加
结束功能

Private Function SeperateString(MainString As String, Seperator As String) As String

End Function
要使参数成为可选参数,请在其前面使用关键字
optional

范例

Private Function SeperateString(MainString As String, Optional Seperator As String = "-") As String

End Function

++为了打败我:)++为了打败我:)