アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルVBA初心者です。
初心者のため、うまく質問できるか分かりませんが、よろしくお願いします。

タイトルのように
A2からA16に入っている値を全て足して、その値を別シートのB2セルに書き出す、というマクロを教えてほしいんです。
別シートに書き出すマクロは分かるのですが、足し算が分からないんです。

A2+A3+・・・
とやってもいいんでしょうけど、凄く大量で1つ1つ書けないんです。
まとめて、ここからここまで全部足す!みたいなマクロはないでしょうか><;

大雑把な質問ですみません・・・
アドバイスよろしくお願いします。

A 回答 (5件)

Option Explicit



'Excelに標準で存在するSUM関数じゃなくてVBAによるマクロだよね?

Sub Summation()
Dim i As Integer
Dim sum As Integer
For i = 2 To 16
sum = sum + CInt(Cells(i, 1).Value)
Next i
Cells(2, 2).Value = CStr(sum)

End Sub
    • good
    • 1
この回答へのお礼

素早い回答助かります><;

そうです。VBAのマクロです!
For Next 構文でやろうと思ってたので本当に助かります。

ありがとうございました!

お礼日時:2008/07/20 02:11

例えばこの様な事ですか?



Worksheets("Sheet2").Range("B2").Value = _
WorksheetFunction.Sum(Worksheets("Sheet1").Range("A2:A16"))

ワークシート関数を用いたVBAのサンプル。
    • good
    • 1

ANo.2です。



追加で参考URL。
VBAでワークシート関数を利用するには-Application.WorksheetFunction
http://www.relief.jp/itnote/archives/001834.php

VBAで使用できるワークシート関数一覧
http://www.relief.jp/itnote/archives/001974.php

ワークシート関数を用いた方が楽な場合もありますので。
    • good
    • 0
この回答へのお礼

お礼コメント遅くなりました><;

ありがとうございました!
無事に完成しました^^;

とても参考になりました!
ありがとうございます。

お礼日時:2008/07/25 21:17

マクロの記録を参考にすると、式を埋め込む方式なので


Sub Macro1()
d = Range("A65536").End(xlUp).Row
Range("A" & d + 1).FormulaLocal = "=SUM(A1:A" & d & ")"
End Sub
ーーー
方法としては
(1)各セル繰り返し加算法
(2)WorksheetFunction法
(3)式を埋め込む法
(4)ピボットテーブル法
    • good
    • 0
この回答へのお礼

お礼コメント遅くなって申し訳ありません。
分かりやすい説明ありがとうございます。
とても参考になりました。

お礼日時:2008/07/25 21:18

#1の修正



CInt → CDbl
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!