在Selection.Formula VBA中使用MMult作为非cte范围时的Concatination的困难

时间:2017-06-30 08:39:48

标签: vba

正如您可能怀疑如果程序的用户更改Excel中的单元格值,temp1,temp2变量会发生变化,因此范围不是常量并且是这些变量的函数。

请帮助我,因为我不知道错误(类型不匹配错误)的位置:

Range(Cells(9, 7 + 2 * temp2 + 1), Cells(8 + temp2, 7 + 2 * temp2 + 1)).Select
Selection.FormulaArray = _
     "=MMULT(" & Range(Cells(9, 7 + temp2), Cells(8 + temp2, 7 + 2 * temp2 - 1)) & ",MMULT(TRANSPOSE(" & Range(Cells(9, 6), Cells(9 + temp1, 5 + temp2)) & ")," & Range(Cells(9, 3), Cells(9 + temp1, 3)) & "))"

1 个答案:

答案 0 :(得分:0)

在问题中没有任何线索,你会得到什么样的错误,以及在哪一行,我会在黑暗中捅一下,并建议你在尝试将二维数组连接成{{1}时遇到错误}}

你想要做的事情:

String

即。使用Range(Cells(9, 7 + 2 * temp2 + 1), Cells(8 + temp2, 7 + 2 * temp2 + 1)).FormulaArray = _ "=MMULT(" & Range(Cells(9, 7 + temp2), Cells(8 + temp2, 7 + 2 * temp2 - 1)).Address & _ ",MMULT(TRANSPOSE(" & Range(Cells(9, 6), Cells(9 + temp1, 5 + temp2)).Address & _ ")," & Range(Cells(9, 3), Cells(9 + temp1, 3)).Address & "))" 对象的.Address属性,而不是使用(默认)Range属性。