列の一番下に、合計を出す

こんにちは。伊川(@naonaoke)です。

今回は、実務であるあるの列の一番下に合計を出すVBAを紹介します。

せっかく、苦労してVBAを作成しても、最後の合計だけをSUM関数で完結するのは、すこし、面白くないですよね。

この方法には、いろいろな方法があります。

今回は、目新しいものを紹介するのではなく、今まで学んだ知識で、最後の合計をVBAで表現します。

大切なのは、範囲の指定方法です。

これを理解していれば、難しくありません。

前提知識がない人は、下記の記事を読んでいただくと、一層理解が深まると思います。

このブログはこんな人にお勧め

このブログはこんな人にお勧め
  • 列の一番下に、合計を出したい人
  • 変数の使い方がかわらない人
  • 2重ループがわからない人

このブログを、読み終わるころには・・・・

2重ループが理解できます。また今回紹介するコードは、WorkSheetFunctionを利用します。
今回は、当然、合計ですので、SUMを使います。
当然Averegeに変換すれば、平均になります。
スポンサーリンク

列の一番下に合計を出す

列の一番下に合計を出す方法はたくさんあります。

NETで検索してもいろいろな方法があります。

ただ、私が検索した限りでは、SUM関数をセルに入力する方法です。

私自身スキルの無いときは、結構感動しました。

しかし、難しいの一言でした。

2重ループも難しいかもしれませんが、本当に便利なコードです。

2重ループはこのブログでも何度か紹介しています。

今回は、わずか8行のコードです。

列の一番下に合計を出す 作業手順 その1 データベース確認


SUM関数を利用するとカンタンでます。

しかし、VBAを利用すると、すこし考えてしまいます。

列の一番下に合計を出す 作業手順 その2 コードを紹介

ループを使うとこんなに少ないコードで完成します。

説明は、これ以上でも、これ以下でもないです。

列の一番下に合計を出す 作業手順 その3 2重ループを理解るために

上のコードの書き方が難しいと思います。

このようなコードをいきなり書くと、エラーがでますので、順を追って記載していきましょう。



合計_1のコードです。

RangeとCellsを使って範囲を指定できれば、特に難しくないと思います。

列の一番下に合計を出す 作業手順 その4 変数を当てはめる

まずは、18という数字に着目します。

18は、一番下の行番号です。

次に、18に近い数字を探します。



列の一番下に合計を出す 作業手順 その5 ループを設定


上の図から考えて、縦のループが先で、そのあとに、横のループを設定します。

For Next 構文を使いますが、このFor Next構文は特徴があります。

必ず、最初と最後の設定をしなければなりません。

縦列の最後が、maxRでしたので、横列の最後も設定しなければなりません。


このように設定します。

これは、ほぼ、公式ですので、丸暗記してください。

難しいと思わないでください。


上のコードに最後の変数を設定します。

見た感じ、2が多く使われています。

この、2を、2~6というようにスライドさせたいのです。

スライドさせたい2 スライドさせたくない2があります。




完成です。

おっと失礼


これで完成です。

細かいかもしれませんが、合計の文字がないだけで、評価を落とさないようにしてください。

ここがポイント

ここがポイント
Function8.png
今回も、2重ループの説明をしましたが、ループって本当の便利だと思います。多分、一番わかりやすく説明しているブログだと思います。2重ループを覚えてから、精神的苦痛がなくなりました。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

今回のネタも競馬ソフトを開発中に思い出したコードです。

他のサイトで結構、紹介されているので、不要かなと思っていました。

でも、紹介されているコードが、案外、難しいので、単純に合計だけなら、2重ループで実現可能なので、紹介しました。

今回も最後まで読んでいただきありがとうございました。

今回のサンプルファイルは、No189です。

サンプルファイルを購入希望の方はココをクリック
サンプルファイル
VBAを勉強中の悩みを解決
  • なんで動かないの?
  • もうやだ!
  • どこにも情報がない!
スポンサーリンク

Twitterでフォローしよう

おすすめの記事