2017-08-11 6 views
0

forループでは、ループID jを次のサンプル(R1C[j-36])のような式で参照する必要があります。ただし、コード実行時にエラーが発生します。これを修正するにはどうしたらいいですか?forループVBAでactivecell.formulaを使用する方法

For j = 1 To 3 

       Range("SRinclSpread").Select 
       ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],sheet1!R4C1:R54C34,R1C[j-36],0)+R13C[4]" 
Next j 
+0

はレンジ '" SRinclSpreadです@含めて更新しました「単一の細胞?もしそうなら(そしてそうでなくても)、なぜあなたは3つの異なる式をそれに割り当てていますか?セルに最後の3つの数式を割り当てて時間を節約するだけではどうですか? – YowE3K

答えて

3

、二つの文字列に数式を分割&と結合し、そして編集

For j = 1 To 3 
Range("SRinclSpread").Select 
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],sheet1!R4C1:R54C34,R1C[" & j -36 & "],0)+R13C[4]" 
Next j 

文字列の間の変数としてJを使用します。YowE3K提案

+0

構文を少し説明してください。 jだけを使う必要がある場合はどうすればいいですか? R1C ["&j -36&"]の代わりに "&j&"と書くことはできますか? – LaTeXFan

+0

はい、できます! 'ActiveCell.FormulaR1C1 =" = VLOOKUP(RC [-1]、sheet1!R4C1:R54C34、R1C ["&j -36&"]、0)+ R13C [4] "'の行では、アクティブセルの数式。等号(演算子)の右側の文字列に応じた値。 文字列と変数は、 '&'を使って結合して1つの共通の文字列を作成し、それを演算子に従って割り当てることができます。 例: 'j'の値が37の場合、文字列はVLOOKUP(RC [-1]、sheet1!R4C1:R54C34、R1C ["&37 -36&"]、0)+ R13C VLOOKUP(RC [-1]、sheet1!R4C1:R54C34、R1C [1]、0)+ R13C [4] "に結合する" – Prebsus

関連する問題