• ベストアンサー

【VBA】掛け算の入力

添付のピクチャのH2セルから都度変動する最終行迄、 B2*C2、B3*C3、、、と計算をしたいのですが、 下記のコードでは数式が入力されません。 ご指導宜しくお願いします。 Dim LastRow As Long Dim n As Long LastRow = Cells(Rows.Count, "B").End(xlUp).Row Sheets("数式を入力するシート").Select For n = 2 To LastRow Range("H" & n).Formula = "=B&n*C&n" next n

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.1

Range("H" & n).Formula = "=B" & n & "*C" & n にしてみてください。

0611birth
質問者

お礼

いつも有難うございます。 次工程に進みます。

その他の回答 (2)

  • SI299792
  • ベストアンサー率47% (774/1620)
回答No.3

既に回答は出ていますが、こうすれば一発で入れれます。 こういうやり方もある事を知っておいた方がいいです。 Option Explicit ' Sub Macro1()   Dim LastRow As Long '   LastRow = Cells(Rows.Count, "B").End(xlUp).Row   Range("H2:H" & LastRow) = "=B2*C2" End Sub

0611birth
質問者

お礼

勉強になります。有り難う御座いました。

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

VBAでの掛け算というより、セルへ関数式のセットという範疇のやり方で、どうもと思う。VBAで2セルの値を掛け算して、結果をセルの Valueとしてセットするのが普通だろう。 何か事情があるのか、どうやろうと勝手だが、ここに質問するまでのものでない。 またRange(”An")のnを数値で指定する場合は、エクセルの仕様の力を借りてRange("A" & n)と書けるというのは、VBAのセル表現の「いろは」である。これを使うのははじめてかな。 "=B&n*C&n"としたら、” ”でかこっているため、その中の、nはnの文字に固定されてしまう。変動する値を挟めない。

0611birth
質問者

お礼

ダブルクォーテーションの使い方について、勉強になりました。辛口コメント有難うございます。

関連するQ&A