2016-04-17 23 views
2

VBAのセルに数式を挿入しようとするとランタイムエラー1004が発生します。私のExcelシートでセルVBA Excelに式を挿入するときのランタイムエラー1004 Excel

Iは等B、E、Hよう

細胞C2でIは、分割しようとして、列Aの日付および列B内のすべての3列を開始行1の株式ティッカーを有します列ヘッダー "FTSE"の下の行2の値によるB2の値。この式をセルに直接入力すると、次のようになります。

=IFERROR(B2/(VLOOKUP($A2,$A$2:$GMQ$261,MATCH("FTSE",$B$1:$GMQ$1,0)+1,FALSE)),"") 

私はvbaを使ってこれをしようとしています。これは私が持っているコードです:

Sub InsertFormula() 

    Range("C2").Select 
    ActiveCell.Formula = _ 
    "=IFERROR(B2/(VLOOKUP($A2,$A$2:$GMQ$261,MATCH(""FTSE"",$B$1:$GMQ$1,0)+1,FALSE)),"")" 

End Sub 
+1

最後の二重引用符のペアを「ダブルアップ」することを忘れないでください! –

+0

ゲイリーは正しいです...フォーミュラはIFERROR(B2 /(VLOOKUP($ A2、$ A $ 2:$ GMQ $ 261、MATCH( "" FTSE ""、$ B $ 1:$ GMQ $ 1,0 )、 "" ")" '(エラー部分が二重になるのを見逃しました) –

+0

@Ralph携帯電話を使っていて完全にできなかったので、コメントとして投稿しました別のコード行をテストします。 –

答えて

3

あなたはTEXT(,)として使用TEXT functionでダブルダブルquotes¹によって生成された混乱を減らすことができます。これは、""のように長さゼロの文字列を返します。二重引用符がない場合は""""のようになります。

Range("C2").Formula = _ 
"=IFERROR(B2/(VLOOKUP($A2, $A$2:$GMQ$261, MATCH(""FTSE"", $B$1:$GMQ$1 ,0)+1, FALSE)), TEXT(,))" 
'without the offset and subsequent adjustment with full column references 
Range("C2").Formula = _ 
"=IFERROR(B2/VLOOKUP($A2, $A:$GMQ, MATCH(""FTSE"", $1:$1 ,0), FALSE), TEXT(,))" 

を¹より多くの例についてHow to create strings containing double quotes in Excel formulas?を参照してください。

+0

ああ、そのヒントありがとう、私はそれを使用する必要があります。 – BruceWayne

関連する問題