• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでシート毎に演算した項目を足しこむには?)

VBAでシート毎の演算結果を足し合わせる方法

このQ&Aのポイント
  • VBAを使用して、複数のシートごとに演算された項目の値を足し合わせる方法を教えてください。
  • 例えば、10枚のシートにそれぞれ算数の得点、国語の得点、理科の得点、社会の得点の項目があり、それらの値を11枚目のシートに足し合わせたいと考えています。
  • 現在、For Each文を使用してシートごとに値を取得しているのですが、算数の得点の値は正しく取得できても、SUM関数で計算された値は取得できていません。どのような記述をすれば良いでしょうか?

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

では、マクロの一例です。 Sub test01()   Dim i As Long, n As Long '変数宣言   For i = 1 To 10 '1~10まで     For n = 2 To 6 '2~6まで       With Sheets("Sheet11") 'Sheet11に加算         .Cells(n, "B").Value = .Cells(n, "B").Value + Sheets("Sheet" & i).Cells(n, "B").Value       End With     Next n '繰り返し   Next i '繰り返し End Sub

wakaranna
質問者

お礼

回答ありがとうございます。 ヒントを頂けたのでもうちょっと考えてみます。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

> jnum = jnum + sht.Cells("B2").Value'これはエラーにならない Rangeオブジェクトの引数と、Cellsプロパティの引数とは違います。 どうしてエラーにならないのでしょうね。   jnum = jnum + sht.Range("B2").Value   inum = inum + sht.Range("B6").Value とすればよいのではないでしょうか? 後は、inumのデータ型の宣言が数値型になっていないとか?

wakaranna
質問者

お礼

回答ありがとうございます。 色々教えて頂いてひらめくものがあったのでもうちょっと考えてみます。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

マクロじゃなくても、 =SUM('Sheet01:Sheet10'!B6) という計算式で出来ますけど、これじゃダメでしょうか?

wakaranna
質問者

お礼

回答ありがとうございます。 式そのものをぶち込むのも良さそうですね。別のやり方しか考えていなかったので全く気が付きませんでした。もうちょっと考えています。

関連するQ&A