【发布时间】:2020-02-24 11:02:00
【问题描述】:
我的数组公式有问题,它包含两个变量。我想制作一个 ArrayFormula 来计算新工作表中生成的表格中列中的填充单元格。该表的列数取决于 nos 值。 Cloumns 被命名为“Tabela_” & name & “[Substancja1] 等。我想对这些列中所有填充的单元格求和。我想我必须在语法中修复一些东西,无论是公式还是代码。我在 Range 中制作了另一个数组公式("C5") 并且它有效。我尝试在字符串和变量之间使用引号 ("") 但它不起作用。请帮助我。 此代码生成错误 1004:无法在 Range 类中设置 FormulaArray。 以表为例: https://1drv.ms/x/s!AitFOK70PUC7wx_7vnh5EqkdJLfe
Sub newSheet()
Dim name As String
Dim nos As Integer
Dim formRozp As String
name = InputBox("blabla:", "Add item")
nos = InputBox("blabla" & vbCrLf & vbCrLf & "Range: 1-10.", "Add item")
Range("C5").FormulaArray = "=SUM(IF(Tabela_" & nazwa & "[Data]="""",0,1))"
formRozp = "=SUM(IF(Tabela_" & name & "[Substancja1]="""";0;1))"
For nos = 2 To nos - 1
formRozp = formRozp & "+SUM(IF(Tabela_" & name & "[Substancja" &
nos & "]="""";0;1))"
Next nos
Range("C3").FormulaArray = formRozp
代码生成了 name=b5 和 nos=3 的公式,但它不起作用。
=SUM(IF(Tabela_b5[Substancja1]="";0;1))+SUM(IF(Tabela_b5[Substancja2]="";0;1))+SUM(IF(Tabela_b5[Substancja3]="";0;1))
【问题讨论】:
-
一个问题可以通过多种方式解决。因此,发布您的示例数据解释问题,然后展示您的努力和期望的结果。这将帮助您获得最佳解决方案。看来你的问题可以通过
=SUMIFS()解决。 -
我编辑了我的帖子并发布了一个链接,指向带有我的数据的工作表样本。我试过 =sumifs() 但也没有工作。
标签: excel vba excel-formula