Excel VBA功能,多个用户定义范围

时间:2018-06-22 22:08:28

标签: excel vba excel-vba function range

我一直在尝试使用excel中的公共函数来创建自己的公式,供我和我的同事使用,但是经过大量的搜索之后,我无法缝制解决该公式。

在此示例中,我试图做的是创建一个公式,供用户调用,方法是在单元格中键入“ = SumCells()”,然后选择范围以与一组柑橘属植物求和应该从excel中选择。

最重要的是,我想选择可以查看“日期”条件的选项,如果“日期”等于另一个单元格中的日期+另一个单元格中的整数,该整数将增加x个月,它将汇总那也是。 Data and criterias

因此,一旦我使用公式,它将看起来像这样。 Formula

Public Function SumCells(RangeToSum As Range, CriteraRange_1 As Range, Critera_1 As Range, CriteraRange_2 As Range, Critera_2 As Range, MonthsToAdd As Integer)

SumCells = Application.SumIfs(Range(RangeToSum), _
         Range(CriteraRange_1), Range(Critera_1).Value, _
         Range(CriteraRange_2), "=" & DateAdd("m", MonthsToAdd, Range(Critera_2).Value)) 
End Function

感谢您的帮助和问候!

1 个答案:

答案 0 :(得分:1)

从范围对象中删除范围“包装器”。

Public Function SumCells(RangeToSum As Range, _
                         CriteraRange_1 As Range, Critera_1 As Range, _
                         CriteraRange_2 As Range, Critera_2 As Range, MonthsToAdd As Integer)

    SumCells = Application.SumIfs(RangeToSum, _
             CriteraRange_1, Critera_1.Value, _
             CriteraRange_2, DateAdd("m", MonthsToAdd, Critera_2.Value))

End Function

enter image description here