タカヒロ@extan【ExcelVBA】SUM関数を選択範囲の縦横に挿入する方法は?位置決めも可!Excelの操作でSUM関数を挿入する機会は多いかと思います。そんな時に大変だと思うことは・SUM関数を一個づつ設定するのは面倒...・SUM関数で合計範囲が漏れていた...・縦横両方にSUM関数を入れたいが方法がわからない...ということはないでしょうか。一瞬でSUM関数を選択範囲の縦横に挿入する方法と、あるとうれしい位置決め機能をご紹介します!もくじ標準機能で縦横にSUM関数を挿入する方法はオートSUM!ExcelVBAでSUM関数を選択範囲の縦横に挿入したり、位置を調整するには?サンプルデータを準備するVBAを実装するVBAを実行する別パターン1:SUM関数挿入位置を変える別パターン2:SUM関数挿入を行または列のみにする別パターン3:別ブックにSUM関数挿入をするVBAの説明さいごに標準機能で縦横にSUM関数を挿入する方法はオートSUM!ご存知の方も多いでしょうが、縦横にSUM関数を挿入する方法はExcelの標準機能で実現が可能です。「オートSUM」です。数式タブをクリックし、オートSUMボタンをクリックするだけです。最下行のみにSUM関数は挿入されます。この「オートSUM」ですが、選択範囲右列のみにまとめてSUM関数を挿入することはできません。SUM関数の挿入位置を選択範囲の次の次の列や行にしたりすることはできません。標準機能ですので、若干柔軟性が無いわけです。そこで登場するのがVBAです。条件によっては「オートSUM」が利用できない場合があります。合計値の位置がデータの位置と隣接していない場合です。その場合には手動で入れる必要がありますが、大量にあるとうんざりしますよね。そこで今回の目玉である、SUM関数の挿入位置を指定できるようにしました。SUM関数の挿入範囲を「行だけ」、「列だけ」、「行列」の3パターンの選択をできるようにしました。タカヒロVBEから実行をかけると、別ブックのデータも同じくSUM関数挿入処理が可能ですので便利です!サンプルデータを準備するSUM関数を挿入するためのデータを準備します。されますので、2行、2列以上のデータを準備します。できたサンプルデータは上記と同様の内容となります。EditorへVBAを実装します。'引数の数値はSUM関数挿入の位置を表します。1の場合は選択範囲の次のセル、2は次の次のセルといった具合です。'位置数に最終行数を加える。'アドレス値に変換※相対参照とする。'位置数に最終行数を加える。'アドレス値に変換※相対参照とする。Sub実装手順は以下の通りです。Excel側にVBAを実装します。1Excelを新規に開き、開発タブをクリックし、VisualBasicをクリックします。ショートカットキーAlt+F11でもOKです。2標準モジュールを追加します。左ペインのVBAProjectを右クリックし、挿入、標準モジュールを選択します。3右ペインのウインドウに上記のVBAを入力します。VBAを実行するでは早速VBAの実行をしてみましょう。1合計したいデータがあるセルを範囲選択します。「実行」をクリックします。行列の指定位置にSUM関数が挿入されましたね!別パターン1:SUM関数挿入位置を変えるSUM関数挿入位置を変えることが可能です。選択範囲の次の次の次のセルにする場合は各プロシージャの引数の値を変更します。サンプルでは各プロシージャの引数を「2」から「3」に変更しました。選択範囲の最終行下にSUM関数を挿入する(3)実行すると、はい、SUM関数の挿入位置が変わりましたね。タカヒロ欄外挿入で美しくないですがご了承ください...別パターン2:SUM関数挿入を行または列のみにする「オートSUM」ではできなかったSUM関数挿入を列のみにすることですが、この場合、「選択範囲の最終列右にSUM関数を挿入する」をコメントアウトすることによって可能になります。選択範囲の最終行下にSUM関数を挿入する(2)はい、できましたね。別パターン3:別ブックにSUM関数挿入をするVBEから実行すると、別ブックの表データに対してSUM関数を挿入することが可能になります。別ブックを開き、表データを範囲選択し、VBEを実行します。VBAの説明VBAの内容を説明します。今回は3つのプロシージャを利用しています。一つがメインの「SUM関数挿入」プロシージャで、ここから各サブプロシージャを呼び出しています。「選択範囲の最終行下にSUM関数を挿入する」で、第一引数にはSUM関数挿入位置を指定します。次に「選択範囲の最終列右にSUM関数を挿入する」プロシージャについて説明します。以下では選択範囲の座標を取得しています。‘位置数に最終行数を加える。以下では座標からA1などのアドレス値に変換しています。指定パラメータは相対参照となるよう設定をしています。ColumnAbsolute:=False)以下はSUM関数を挿入する処理です。Withちなみにエラー回避の箇所ですが、数式をコピーするAutoFill関数は1個だけの場合はエラー1004「RangeクラスのAutoFillメソッドが失敗しました。」となりますので、2個以上の場合に処理をするようにしています。「選択範囲の最終行下にSUM関数を挿入する」プロシージャの説明は「選択範囲の最終列右にSUM関数を挿入する」プロシージャとほぼ同様なので割愛させて頂きます。さいごにいかがでしょうか。今回は一瞬でSUM関数を選択範囲の縦横に挿入する方法と、あるとうれしい位置決め機能をご紹介しました。オートSUMでは実現できないSUM関数挿入処理があればぜひ活用いただければと思います。次回は平均値を求めるAVERAGE関数について説明したいと思います。SUM関数、AVERAGE関数をまとめて挿入、という技もできますのでご期待ください!この記事の関連キーワードこちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。「合計」の関連記事こちらの記事の内容「合計」に関連する記事一覧です。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。VBA】メール誤送信防止マクロ一覧!セキュリティ事故最新事情もまとめ!RECOMMENDこちらの記事も人気です。オーバーフローしました。53「ファイルが見つかりません。