- ベストアンサー
マクロについて
はじめてマクロなるものに挑戦したのですが、思い通りにならないのでよろしくお願いします。 e = Worksheets("sheet1").Cells(2, 2).End(xlDown).Row というので、”e”を決めました。 次に、 B2+B3+B4+…+Be-1+Beを計算させたいのです。すなわち Cells(2, 2)からCells(e, 2)までを足したいのです。 なにかよいやり方はないでしょうか?よろしくお願いします。 自分はSumを使いましたが、負けました、、、、
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Cells を使って計算させるなら For を使って繰り返しをするといいかもしれません。例えば、 Dim cnt, num As Long num = 0 For cnt = 2 To e num = num + Cells(cnt, 2).Value Next これが終わると変数 num に合計が入っています。 その他、Sum を使う方法として Dim num As Long num = WorksheetFunction.Sum(Range("B2:B" & e)) というような感じになります。 ワークシートでしか使えない関数は上のように WorksheetFunction.xxxのように指定し、引数にセル参照を持ってくる場合はその範囲を表すために Range を使います。
その他の回答 (1)
- semujyu
- ベストアンサー率12% (4/32)
マクロの繰り返し文を使えば出来ます Dim X As Integer Dim e As Integer Dim ANS As Integer e = Worksheets("sheet1").Cells(2, 2).End(xlDown).Row ANS = 0 For X = 2 To e ANS = ANS + Cells(X,2) Next J これで、2~eまでの足し算ができるはずです ただし、これではeに65534が入るのでは?
お礼
ありがとうございます! つっこみはなしですよ(笑)
お礼
ありがとうございます! まだ完璧には理解していないのですが、がんばります!