我想计算VBA中两个向量的标量积。
由于Excel具有执行此功能的“SUMPRODUCT”功能,因此我尝试在VBA中使用它。
为此,我想转置两个向量中的一个,而不是在工作表中写入整个向量。
这可能在VBA中吗?
以下是我的一个例子:
X = Worksheets("Tabelle1").Range("A1:C1").Value2
XT = Application.Transpose(X)
Worksheets("Tabelle1").Cells(1, 11).Formula = _
"=SUMPRODUCT(XT,G1:G3)"
我建议在公式中转换矢量A1:C1
。我们需要使用.FormulaArray
而不是.Formula
。请尝试以下代码来替换您的代码示例。
Worksheets("Tabelle1").Cells(1, 11).FormulaArray = _
"=SUMPRODUCT(TRANSPOSE(A1:C1),G1:G3)"