2016-05-02 21 views
0

次のカスタム関数は、1つのオプションの整数を引数として取ります。 引数が指定されていない場合は、1を返します。 引数が渡された場合は、引数の値を返す必要があります。カスタム関数のオプションパラメータ

問題:引数が欠落している場合、この関数は1

任意の考えの代わりに0を返しますか?

Function f(Optional i As Integer) As Integer 
If IsMissing(i) Then 
f = 1 
Else 
f = i 
End If 
End Function 
+2

'ISMISSING()'だけVariant' 'で動作しますので、' ISMISSING(i)は '常に' false'のを返します。 –

+0

[IsMissing](https://msdn.microsoft.com/en-us/library/aa445048%28v=60/29.aspx)を参照してください。 –

+1

関数にパラメータとしてバリアントを使用させることができます。その後IsMissingが動作します。整数の代わりにバリアントを使用することにはほとんど罰則はありません。 –

答えて

3
Function f(Optional i As Integer = 1) As Integer 
    f = i 
End Function 
+0

'i'は1を有効な値として持つことができます。 –

+0

iの値が1の場合は、結果が1であるため問題ありません。 –

関連する問題