使用数组输入时,用户定义函数将不返回结果

时间:2019-10-03 20:53:13

标签: arrays excel vba user-defined-functions

我对使用Excel VBA还是很陌生,并且完全是自学的,因此希望这只是我所缺少的简单事情。我创建了一个用户定义函数,该函数在两个必需的输入为单个单元格时起作用,但在这些输入为数组时停止工作。

该函数应循环遍历一个数组(Lookup_Array),如果单元格中的值大于0,则应将第二个数组(Count_Array)中的值求和为Total。以下是到目前为止我得到的:

Public Function Reconcile_Total(Lookup_Array As Range, Count_Array As Range) As Long

Dim Total As Long
Dim i As Integer
Total = 0
i = 1

For Each element In Lookup_Array
    If Lookup_Array > 0 Then
    Total = Total + Count_Array(i)
    Else
    End If
    i = i + 1
Next element

Reconcile_Total = Total

End Function

因此,如果在excel的A列中,我将A1:A3突出显示为Lookup_Array,并且包含1、0、2,然后在B列中将B1:B3突出显示为Count_Array,并且其中包含100、200、300,则公式应该返回400。如果我突出显示A3和B3,则该代码起作用,返回300;或者如果突出显示A1:A3和B1:B3,则该代码停止工作。如果我突出显示A2和B2,则返回0。 / p>

任何人都可以请它教育为什么这个菜鸟停止工作吗?

0 个答案:

没有答案