替换功能以绕过255字符数组限制

时间:2016-04-11 18:32:57

标签: vba

这是我第一次使用replace函数试图绕过数组中的255个字符限制。由于某种原因,宏将把theFormulaPart1放在代码中,但之后它说我的公式包含一个错误,并且它不会用FormulaPart2替换X_X_X。这也是我第一次利用其中一个网站获得vba的帮助,所以如果我的格式很草率,我很抱歉。谢谢你的帮助!

Sub PortNum()
'
' PortNum Macro
'

'
Dim theFormulaPart1 As String
Dim theFormulaPart2 As String

theFormulaPart1 = "=INDEX('S:\CREDIT SHARED\Credit Files\2. C&I CREDIT      FILES\~C&I Spreading Model Data\[C&I Portfolio Data.xlsx]Page1_1'!R7C3:R1000C3, X_X_X)"
theFormulaPart2 = "LARGE(IF(R346C11='S:\CREDIT SHARED\Credit Files\2. C&I CREDIT FILES\~C&I Spreading Model Data\[C&I Portfolio Data.xlsx]Page1_1'!R7C1:R1000C1, ROW(R7C1:R1000C1)-ROW(R7C1)+1), ROW(R[-346])))"

With ActiveSheet.Range("O347")
.FormulaArray = theFormulaPart1
.Replace "X_X_X)", theFormulaPart2
End With

Range("O347").Select
Selection.AutoFill Destination:=Range("O347:O359"), Type:=xlFillDefault
Range("O347:O359").Select
End Sub

1 个答案:

答案 0 :(得分:0)

原因是,公式必须在任何时候被替换。所以你不能用字符串代替。我在A1表示法中创建了一个适用于英语功能的功能。我最初使用绝对引用记录宏,但是你插入的代码的第二部分不能是那种表示法,它必须利用你应该在宏执行其操作后在单元格中看到的实际代码。

ArrayFormula More than 255 Characters .Replace Not Working