宏中的长数组公式

时间:2017-06-15 21:04:48

标签: arrays excel vba excel-vba

我发现我的公式中不能有超过255个字符,这是我的VBA代码中的数组公式;但是,我无法弄清楚如何使用替换方法。这是我的数组公式:

{= IF(ISNUMBER('Director File'!$ H $ 11),IF(ISERROR(OFFSET)(INDEX('输入17-1'!$ A $ 2:$ V $ 183,SMALL(IF('输入17- 1'!$ A $ 2:$ A $ 183 ='导演档案'!$ H $ 11,ROW('输入17-1'!$ A $ 2:$ A $ 183)),2),10), - 1,0) ),“”,OFFSET(INDEX('输入17-1'!$ A $ 2:$ V $ 183,小(IF('输入17-1'!$ A $ 2:$ A $ 183 ='导演档案'!$ H $ 11,ROW('输入17-1'!$ A $ 2:$ A $ 183)),2),10), - 1,0)),“”)}

我已经读过你必须在你的替换方法的每个部分都有工作公式;但是,我尝试的一切都不起作用。

非常感谢任何帮助!

我尝试过以下操作但仍无法使其正常工作:

Sub Enter_SellerFormulas()

Dim formulaPart1 As String
Dim formulaPart2 As String

formulaPart1 = "=IF(ISNUMBER('Director File'!$H$11),IF(ISERROR(""X_X_X"")),"")"
formulaPart2 = "OFFSET(INDEX('Inputs 17-1'!$A$2:$V$183,SMALL(IF('Inputs 17-1'!$A$2:$A$183='Director File'!$H$11,ROW('Inputs 17-1'!$A$2:$A$183)),2),10),-1,0)),"",OFFSET(INDEX('Inputs 17-1'!$A$2:$V$183,SMALL(IF('Inputs 17-1'!$A$2:$A$183='Director File'!$H$11,ROW('Inputs 17-1'!$A$2:$A$183)),2),10),-1,0"

With Range("E17")
    .FormulaArray = formulaPart1
    .Replace "X_X_X", formulaPart2
End With
End Sub

Scotts推荐的新代码:

Sub Enter_SellerFormulas()


Range("E17").Select
ActiveCell.FormulaArray = _
    "=IF(ISNUMBER('Director File'!$H$11),IFERROR(OFFSET(INDEX('Inputs 17-1'!$A$2:$V$183,SMALL(IF('Inputs 17-1'!$A$2:$A$183='Director File'!$H$11,ROW('Inputs 17-1'!$A$2:$A$183)),2),10),-1,0),""),"")"

0 个答案:

没有答案