具有可变标准数的Sumif

时间:2016-07-20 16:00:11

标签: excel vba excel-vba

我正在开发一个自动化某些报告的项目。要求是嵌套的不同级别(国家,地区,销售人员,产品)的汇总表。级别数将根据用户和客户端而有所不同。我正在努力解决的问题是VBA如何构建sumifs,其中参数的数量在代码运行之前是不可知的。

Dim i as Long
Dim InSh As Object
Dim OutSh As Object
Set InSh = Workbooks("Readin").Worksheets("Sheet1")
Set OutSh = Workbooks("Output").Worksheets("Sheet1")

for(i in 2 to n)
OutSh.Cells(i, 1) = Application.WorksheetFunction.SumIfs(Insh.Range(rng_0),Insh.range(rng_1) _ 
,"Criteria_1",.....,Insh.Range(rng_n,"Criteria_N")
next i

我想避免VBA在Excel单元格中编写公式有两个原因。一,对底层数据的访问是有限的,不会在文件中发送。第二是速度。我相信这种方式会更快,因为手工制作这些报告会在多张纸上创建1000个这些公式。

我试图通过创建字符串和数组将变量提供给sumif语句,但两次都收到了不匹配错误。我能想到的唯一解决方案是基于传递的标准数量的精选案例陈述,但这仅限于我的计划,我不知道标准有多深。

0 个答案:

没有答案