• ベストアンサー

マクロについて

はじめてマクロなるものに挑戦したのですが、思い通りにならないのでよろしくお願いします。 e = Worksheets("sheet1").Cells(2, 2).End(xlDown).Row というので、”e”を決めました。 次に、 B2+B3+B4+…+Be-1+Beを計算させたいのです。すなわち Cells(2, 2)からCells(e, 2)までを足したいのです。 なにかよいやり方はないでしょうか?よろしくお願いします。 自分はSumを使いましたが、負けました、、、、

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

  • ベストアンサー
  • peso
  • ベストアンサー率41% (40/97)
回答No.1

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 を使います。

stone_wash
質問者

お礼

ありがとうございます! まだ完璧には理解していないのですが、がんばります!

その他の回答 (1)

  • semujyu
  • ベストアンサー率12% (4/32)
回答No.2

マクロの繰り返し文を使えば出来ます 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が入るのでは?

stone_wash
質問者

お礼

ありがとうございます! つっこみはなしですよ(笑)

関連するQ&A