function与可选参数
我想学习和实现一个可选参数在VBA中的函数。 我试图在给定一个字符或子string分隔的string中分隔值。
Private Function SeperateString(MainString As String, Seperator As String) As String { // Body }
例如:我想使用分隔符“ – ”或“1/2/3/4/5”使用分隔符“/”来分隔“1-2-3-4-5”。
我将使用Instr和其他函数来编写逻辑。 我的疑问是我想通过一个分隔符,所以我不需要为每个函数都写一个单独的函数,并且如果没有任何东西被传递的话,我们希望“ – ”是默认值。 我可以这样做吗?
假设你想把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
Private Function SeparateString(MainString as String, Optional Separator as String = "-") As String
哦,这是VBA。 不是{}
和不是,但是我相信你知道…
但是我不得不build议,使用Split()
可能比编写自己的选项更好。
你正在使用VBA,而不是C#,所以不要使用那些花括号。
input第一行并按Enter键的那一刻,VBE将自动添加End Function
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