2
如果我的函數看起來像如何調用只傳遞一個可選參數的函數?
function(optional byval string1 as String,optional byval string2 as String,optional byval string3 as String)
,我只想要調用由進入細胞"=function(string3)"
提供string3
的功能,我該怎麼辦呢?
如果我的函數看起來像如何調用只傳遞一個可選參數的函數?
function(optional byval string1 as String,optional byval string2 as String,optional byval string3 as String)
,我只想要調用由進入細胞"=function(string3)"
提供string3
的功能,我該怎麼辦呢?
這有可能在以下兩種方式之一...
Function MyFunc(optional a as integer, _
optional b as integer, _
optional c as integer) as double
MyFunc = c * 3.14159
End Function
=MyFunc(,,12) <== called as UDF on worksheet or in VBA module
Function MyFunc(args() As Variant) As Double
Dim numberOfArgs As Integer
Dim arg As Variant
Dim i As Integer
Dim answer As Double
numberOfArgs = UBound(args)
i = 1
For Each arg In args
Debug.Print "arg(" & i & ") = " & arg
answer = Int(arg) * 3.14159
i = i + 1
Next arg
MyFunc = answer
End Function
Sub test1()
Dim parms() As Variant
ReDim parms(1 To 3)
'parms(1) = ??
'parms(2) = ??
parms(3) = 21
Debug.Print MyFunc(parms)
End Sub