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

Excelマクロで変数を使って式を入力する方法

このQ&Aのポイント
  • Excelのマクロを使用して特定のセルに式を入力するために変数を使用する方法を教えてください。
  • マクロで行を挿入し、セルの値を利用して式を入力したい場合、変数を使用することができます。
  • 具体的な例として、セルC2の値を使ってセルC4に式を入力する場合、次のようなコードを使用します。

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

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

"=C2*セル番地" としてしまうとセル番地も文字列として入力されます。 変数の値を入力したいのなら ActiveCell.Formula = "=C2*" & セル番地 ですよ。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

>いろいろとサイトを調べてもよくわかりません。 当たり前。VBA利用としては、考え方(着眼点)が変わっている。 (1)そう言う式をオートフィルでいじくる方法もあるが、 マクロの記録を採ればコードはわかるので質問しなくてもすむ。 Sub test03() Range("A1").FormulaLocal = "=$c$2*C3" Range("A1").Select Selection.AutoFill Destination:=Range("A1:A10"), Type:=xlFillDefault End Sub 第3行目以下はマクロの記録から。 (2)コピー貼り付け方法 Sub test01() Range("A1").FormulaLocal = "=$c$2*C3" Range("A1").Copy Range("a2:A10") End Sub データ例 C2:C12 2 3 1 4 5 2 7 1 4 5 6 として 結果 A1:A10 6 2 8 10 4 14 2 8 10 12 確認は各セルをポイントして、スウシキバーを見る。 関数の役割で、VBAでやる意味は少ない。 (2)普通のVBAでは、式をプログラムに書いて、計算し、結果(セルの値を)をセルにセットする。 Sub test02() For i = 1 To 10 Cells(i, "D") = Range("c2") * Cells(i + 2, "c") Next i End Sub 結果はD列に出す。 A列の上例と同行対応。結果は同じ。 ーー 初心者であるがために、初心者には難しい珍奇なやり方に拘って、質問しているのだと思う。 もっと例題集で色々な場合を丹念に集めて、読むべき。質問はその後。

  • pp300a
  • ベストアンサー率12% (11/87)
回答No.2

Dim ro1, ro2, ro3, ro4 As Long まず この使い方は間違いです Dim ro1 As Long ,ro2 As Long ・・・となります こうしないと最後のもの以外はVariant型になります さて、 ActiveCell.Formula = "=C2*セル番地" これは "=C2*セル番地" という文字をセルに埋め込んだだけです Activecell.Value= "=C2*セル番地" と同じです ワークシート側ではVBAの変数は使うことができません

関連するQ&A