• ベストアンサー

ExcelVBAで合計値を計算

ExcelVBAを使用して、ある特定の列の合計値を計算して、表示させたいと考えていますがうまくいきません。 ある特定の列にはデータが入るのですが、その時々によりデータ量は変化するという条件です。 こういった場合どのような記述が良いでしょうか? 教えてください。

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

  • ベストアンサー
noname#31387
noname#31387
回答No.1

下記では如何でしょう。 シート1のA列を対称にしています。 必要な所は変更してください。 Sub Test() Dim myRange As Range Dim myAns As Long Dim Lrow As Long With Worksheets("Sheet1")    Lrow = .Range("A" & CStr(Rows.Count)).End(xlUp).Row    Set myRange = .Range("A1:A" & CStr(Lrow))    myAns = Application.WorksheetFunction.Sum(myRange) End With MsgBox myAns Set myRange = Nothing End Sub

seisan07
質問者

お礼

回答ありがとうございます。 なかなか解決できずにつまづいていたのですが、 回答を参考しました結果、前進することができました。 ありがとうございました。

その他の回答 (1)

  • kamejiro
  • ベストアンサー率28% (136/479)
回答No.2

思いつきのコーディングです。(動作確認はしていません) s = 0 j = 1 Do Until Cells(j, 1) = ""   s = s + Cells(j, 1)   j = j + 1 Loop この場合、A1+A2+A3+… と合計を算出します。合計の変数名は s です。例えば、A1からA10のセルまで全て数値があり、A11のセルが空白だったら、A1+A2+A3+…+A10の計算をします。

seisan07
質問者

お礼

回答ありがとうございます。 シンプルな記述でも可能なのですね。 大変勉強になりました。 ありがとうございます。

関連するQ&A

専門家に質問してみよう