0

我正在尝试在 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

数组将始终是二维的。

前任。大批:

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(此示例中的日期 arg 可能传递了错误的“”bcoz),但#ARG只要我使用UBound()函数,它就会返回。

有小费吗?

4

1 回答 1

3

i作为第二个索引,我想你应该使用:

Do While i < UBound(Arr, 2)
于 2013-03-24T12:11:26.477 回答