2016-04-11 9 views
2

これは、配列内の255文字の制限をバイパスするためにreplace関数を使用した初めての方法です。何らかの理由で、マクロはFormulaPart1をコードに入れますが、式にエラーがあり、X_X_XがFormulaPart2に置き換えられないと表示されます。これはvbaのヘルプにこれらのサイトの1つを利用して初めてのことですので、私の書式設定がお粗末なものであれば事前に申し訳なく思っています。あなたのすべての協力に感謝します!255文字の配列制限をバイパスするための置換機能

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 

答えて

0

理由は、式がいつでも置き換えられることが理にかなっているからです。だからあなたは文字列で置き換えることはできません。私はA1表記の英語機能のために働く機能を作った。もともと絶対参照を使用してマクロを記録しましたが、挿入するコードの2番目の部分はその表記にすることはできません。マクロがそのアクションを実行した後にセルに表示されるはずの実際のコードを利用する必要があります。

ArrayFormula More than 255 Characters .Replace Not Working

+1

このサイトにようこそ!あなたはこの答えに作業コードを追加してください(*あなたの質問にはありません)ので、他の人があなたの問題の解決方法を見ることができますか?どうもありがとう! – cxw

関連する問題