2017-03-11 9 views
0

行4が型の不一致でループを揺らしています!私は間違って何をしていますか?ループ内の型の不一致(エラー13)

For i = 4 To 8 
    j = 20 + i 
    Col = Columns(j) 
    Range("'" & Col & "3'").FormulaR1C1 = "=IF(RC[-11]=0,0,(IF(SUMIF(R3C2:R" & lRow & "C2, RC2,R3C" & i & ":R" & lRow & "C" & i & ")>RC[-11]*1000000, SUMIF(R3C2:R" & lRow1 & "C2, RC2,R3C" & i & ":R" & lRow & "C" & i & ")- RC[-11]*1000000,0)))" 
Next i 
+0

(xlA1のスタイルで、そうでないxlR1C1スタイル)式で何最初のセルに入り、あなたが式を配置する5個の細胞は何ですかに? – Jeeped

答えて

2

このお試しください:自分のエクセル上CellsまたはRangeを使用することにより

For i = 4 To 8 
    Cells(3, 20 + i).FormulaR1C1 = "=IF(RC[-11]=0,0,(IF(SUMIF(R3C2:R" & lRow & "C2, RC2,R3C" & i & ":R" & lRow & "C" & i & ")>RC[-11]*1000000, SUMIF(R3C2:R" & lRow1 & "C2, RC2,R3C" & i & ":R" & lRow & "C" & i & ")- RC[-11]*1000000,0)))" 
Next i 

は、アクティブなブックには、あなたがアクティブなワークシートを参照したいと仮定します。コードを実行するワークブック/ワークシートを正確に指定することは、はるかに良いアイデアです。例:

For i = 4 To 8 
    ThisWorkbook.Worksheets("Sheet1").Cells(3, 20 + i).FormulaR1C1 = "=IF(RC[-11]=0,0,(IF(SUMIF(R3C2:R" & lRow & "C2, RC2,R3C" & i & ":R" & lRow & "C" & i & ")>RC[-11]*1000000, SUMIF(R3C2:R" & lRow1 & "C2, RC2,R3C" & i & ":R" & lRow & "C" & i & ")- RC[-11]*1000000,0)))" 
Next i 
2

多くのエラーが発生しています。

まず、colは、(範囲アドレス)文字列ではなく、列です。列を文字列に連結することはできません。

次に、範囲アドレスを一重引用符(')で囲んではいけません。あなたはおそらくやりたいこと

は次のとおりです。

Cells(3, j).Formula = ... 
関連する問題