• 締切済み

EXCELマクロで数行おきに繰り返す場合

初歩的な質問なんでしょうが宜しく尾お願いします。 SHEET1上で、他のシートを参照して数式を入力するマクロですが 数行おきに入力していき、かつ参照するシートも数行おきとなる 場合の記述がよく分かりません。 Range("A2").Formula ="=IF($K$1>=3,SHEET2!H7,""-"")" Range("B2").Formula ="=IF($K$1>=6,SHEET2!IF7,""-"")" Range("A4").Formula ="=IF($K$1>=3,SHEET2!H12,""-"")" Range("B4").Formula ="=IF($K$1>=6,SHEET2!I12,""-"")" ・ ・ という感じで、2行おきのセルにシート「SHEET2」のセルを5行おきに 参照していきます。50回くらい(100行目迄繰り返すので簡単に記述で きないかと前半のRange("Ax").はForToで指定すればいいのかなと なんとなく想像はできるのですが、さらに入力する数式の行も 異なる間隔で可変させるという場合の記述が分かり分かりません。 素人で恐縮ですが教えて頂けませんか?

みんなの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

繰り返す回数は同じはずなので、各回に対して増分をかければいいのでは? 例) Sub try() Dim i As Integer For i = 1 To 5 MsgBox i * 2 & "__" & i * 5 Next End Sub というような。

bxd00263
質問者

お礼

ありがとうとうございます。 やってみます。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

一例です。 Dim i As Long Dim j As Long j = 7 For i = 2 To 100 Step 2 Range("A" & i).Formula = "=IF($K$1>=3,Sheet2!H" & j & ",""-"")" Range("B" & i).Formula = "=IF($K$1>=6,Sheet2!IF" & j & ",""-"")" j = j + 5 Next i

bxd00263
質問者

お礼

早々にありがとうございます。 早速ためしてみます。

関連するQ&A

専門家に質問してみよう