• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:変数を利用したマクロ)

変数を利用したマクロの組み方

このQ&Aのポイント
  • 変数を利用したマクロの組み方について教えてください。具体的には、変数iを利用してセルに値を入れる方法について知りたいです。
  • 変数iはA列にランダムな整数が入るものとします。指定の表に対して、特定のセルに計算結果を入れたい場合、どのようにマクロを組めばよいのでしょうか?
  • また、変数iを列にも行にも使用することは可能なのでしょうか?例えば、A1が1の場合、D13にA11の計算結果を入れ、A2は空白なので何も行わず、A4が2の場合、D16にD14の計算結果を入れる、という処理を繰り返す方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 質問文をそのまま素直にやれば Sub Sample1() Dim i As Long For i = 1 To 120 If Cells(i, "A") <> "" Then Cells(i + 12, "D") = Worksheets("Sheet2").Cells(i + 10, i) End If Next i End Sub といった感じになると思うのですが、 これではA列に入っている数値の意味が全くありませんね! それともサンプルが少ないためにたまたまこうなっているのか判りませんが、 実際はもっと複雑なのですかね?m(_ _)m

tukutukuhosi
質問者

お礼

ご回答ありがとうございます。そうです。質問するにあたって、知りたい部分のみを中心に簡略化致しました。Iは行にも列にも適用できるんですね。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

作成例: sub macro1()  dim r as long  dim i as long  worksheets("Sheet1").select  for r = 1 to 120   if cells(r, "A") <> "" then   ’A列の数字を変数に受けてから    i = cells(r, "A").value   ’該当の転記を行う    cells(i + 12, "D").value = worksheets("Sheet2").cells(i + 10, i).value   end if  next i end sub >A4は2だからD16にシートシート2のD14の計算結果を返す・・・ +12が途中から+14に化けてるのか、それともA4は2なのに4と勘違いしたのか、どっちですかね。 いずれにしても「何をしたいのか」の説明がそもそも間違ってたら、正しい回答は寄せられませんよ?

tukutukuhosi
質問者

お礼

申し訳ございません。今後は桐光する際に、よく内容を確認します。 ありがとうございした。

関連するQ&A