• ベストアンサー

エクセル 列の合計のVBA

エクセルの縦の列におきまして たとえば列A1からA31までの セル 数値が 入っています、を 合計してA33に返すとして これをコードのなかの 一連の作業として行いたいので VBAで試行錯誤していますが Cells(33, "A").Value = Application.WorksheetFunction.Sum("Cells(1, "A"):Cells(31, "A")") Cells(33, "A").Value = Application.WorksheetFunction.Sum("A1:A31") いずれも稼働しません 宜しくお願い致します win10 office365

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

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

Cells(33, "A").Value = Application.WorksheetFunction.Sum(Range(Cells(1, "A"), Cells(31, "A"))) もしくは Cells(33, "A").Value = Application.WorksheetFunction.Sum(Range("A1:A31")) で試してみてください。

その他の回答 (1)

  • retorofan
  • ベストアンサー率34% (439/1289)
回答No.2

作ってみました。 次のコードをVBAエディタで新しいモジュールに貼り付けて 実行してみてください。 Sub CalculateColumnSum() Dim ws As Worksheet Dim rng As Range Dim sumResult As Double ' シート名を指定してワークシートを取得 Set ws = ThisWorkbook.Sheets("シート名") ' シート名を適切に変更 ' 列Aの範囲を指定 Set rng = ws.Range("A1:A31") ' SUM関数を使って列の合計を計算 sumResult = Application.WorksheetFunction.Sum(rng) ' 合計結果をセルA33に出力 ws.Cells(33, 1).Value = sumResult End Sub

関連するQ&A

専門家に質問してみよう