VBA-Excel 2010で独自の関数を作成して、関数argとして渡された配列内のいくつかのものをカウントしようとしています。また、2つの条件も通過します。問題は、Ubound()関数を機能させることができないことです。
コードは次のとおりです。
Function IleGier(Arr As Variant, Champ As String, Data As Date) As Variant 'Integer
' arr/\ cond1/\ cond2/\
Dim i As Integer
Dim ile As Integer
ile = -1
i = 1
Do While i < UBound(Arr, 1)
If Arr(1)(i) = Data Then
If Arr(2)(i) = Champ Then
ile = ile + 1
End If
End If
i = i + 1
Loop
IleGier = ile
'IleGier = Arr(2)(1)
End Function
配列は常に2次元になります。
元。配列:
15-3-2013 Arg1
15-3-2013 Arg2
15-3-2013 Arg1
15-3-2013 Arg1
16-3-2013 Arg3
16-3-2013 Arg3
16-3-2013 Arg1
の望ましい戻り値は=IleGier(E1:F10;"Arg1";"15-3-2013")
3です(この例の日付引数は ""の間違ったbcozに渡される可能性があります)が、関数#ARG
を使用している限り戻りますUBound()
。
任意のヒント?