0
我已經尋找一個解決方案來輸入一個長陣列公式,但替換方法不起作用。 這是我的代碼:無法使用數組公式(VBA)工作替換方法
Sub code()
Dim parte1, parte2 As String
With ThisWorkbook.Sheets("RESUMEN E. CRITICOS")
''RUT
parte1 = "IFERROR(INDEX(rut_cliente,SMALL(IF(plataforma=R1C2,ROW(rut_cliente)-ROW(BD_EV!R3C1)+1),ROWS(BD_EV!R2C1:R[-1]C[-2]))),"""")"
With .Range("C3")
.FormulaArray = "=IF(R1C2=""Todas"",IFERROR(INDEX(rut_cliente,SMALL(IF(plataforma<>""*"",ROW(rut_cliente)-ROW(BD_EV!R3C1)+1),ROWS(BD_EV!R2C1:R[-1]C[-2]))),""""),reemplazar)"
.Replace "reemplazar", parte1, xlPart
End With
End With
End Sub
此數組公式彙集了來自另一個表值的列表,並命名區域工作,但也有靜態引用。問題是,如果我想刪除被引用表中的行,靜態引用將停止工作。我嘗試使用靜態引用的命名範圍的解決方法,但是,這並沒有幫助(他們不斷重新安排引用的範圍...不能告訴爲什麼)。這是靜態引用是:ROW(BD_EV!R3C1)+1)
和ROWS(BD_EV!R2C1:R[-1]C[-2])
。 請幫忙! 謝謝!
感謝Kylo ......在力愛你的角色喚醒。我應該暗淡「arrayFormula」?如果是的話,它應該是字符串?謝謝 –
謝謝,忘記了我的屁股被一個女孩鞭打的事實,是的,我做得很好。是的,使它成爲'字符串' – KyloRen
Kylo,嘗試你的第一個解決方案,因爲我想把公式放在單元格上,而不是價值。它崩潰在'.FormulaArray = arrayFormula'與1004錯誤:不能分配範圍類的formulaarray屬性。 –