我之前使用了以下代码-
Dim HSArr(2 To 250) As Variant
Dim HSVal As Long
For HSVal = LBound(HSArr) To UBound(HSArr)
HSArr(HSVal) = Cells(HSVal, 1) & " " & Cells(HSVal, 2)
Next HSVal这是一个将A和B列连接在一起的数组,然后该数组将以"P2:P250“的形式输出到工作表上。
Sub SumData()
Const dFormula As String _
= "=IFERROR(SUMPRODUCT(--(P$2:P$250=I2),D$2:D$250,F$2:F$250),"""")"
With ThisWorkbook.Worksheets("Sheet1").Range("K2:K250")
.Formula = dFormula
.Value = .Value
End With
End Sub这段代码在一定程度上完成了我想要的操作,但需要"P2:P250“来包含数组输出,但我不想将任何内容输出到工作表中。
这里有一段我不理解的信息,我如何将这些值从数组引入SUMPRODUCT (而不是"P2:P250"),即使它不是通过数组的方法,因为AFAIK不能使用它作为一个范围,除非它在工作表本身上。有什么想法吗?
发布于 2021-11-03 18:37:01
使用VBA构建数组,然后尝试将其与工作表中的公式一起使用,而不将该信息放入工作表中,这通常是不起作用的,但是在这里,您可以在公式中使用源数据:
=IFERROR(SUMPRODUCT(--(A$2:A$250&" "&B$2:B$250=I2),D$2:D$250,F$2:F$250),"""")https://stackoverflow.com/questions/69823610
复制相似问题