使用REPLACE分解太长的数组公式

时间:2017-11-15 15:57:12

标签: excel-vba vba excel

我试图分解一个太长的数组公式。使用REPLACE(感谢组!)找到答案,但无法使用已经测试的数组公式获得替换。如果我不使用数组公式作为替换字符串,则替换解决方案可以正常工作。如果使用表示数组公式的字符串,则代码不会出错,但不会替换。

基本上,我正在计算一个cost / lb,其中arrayTxt1 = cost& arrayTxt2 =磅& arrayTxt1 / arrayTxt2是cost / lb。两个数组公式都可以自行运行。我已经尝试过没有运气来缩短第二个数组字符串。

arrayTxt1 = "=SUM(IF((master_PayDate>=R14C)*(master_PayDate<EDATE(R14C,1))*
(master_Supplier=""" & selValue & """)," & sumMetric1 & "))/1"

'this works
arrayTxt2 = "/CountA(master_Supplier)"

'no error but does not replace
arrayTxt2 = "/SUM(IF((master_PayDate>=R14C),master_TotalCost))"

'actual string I want to use
'arrayTxt2 = "SUM(IF((master_PayDate>=R14C)*(master_PayDate<EDATE(R14C,1))*
'(master_Supplier=""" & selValue & """)," & sumMetric2 & "))" 

Set selRng = .Cells(sumRow + 1, firstCol + 2)
With selRng
                 .FormulaArray = arrayTxt1
                 .Replace "/1", arrayTxt2, xlPart
End With

0 个答案:

没有答案