• ベストアンサー

Excelで選択範囲の合計をマクロで

Excel2003を使用しています。 ステータスバーに、選択範囲の合計、平均、データの個数などが 表示されますが、同じ機能をマクロを使って、 固定のセルに表示できないでしょうか? 例えば、任意のセルを選択すると、 A1に選択範囲の合計、A2に選択範囲の平均が自動で表示される というような機能です。 Excel2007では、同様の機能がステータスバーにあるようなのですが。 よろしくお願い申し上げます。

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

  • ベストアンサー
  • keirika
  • ベストアンサー率42% (279/658)
回答No.3

#3です。 前述のコードは特定のシートにおいて、セルが選択された際に 動作するものです。 ちなみにTargetは選択されているセル範囲を指します。 設定方法としては以下になります。 1.設定するシートのシートタブを右クリック。 2.メニューからコードの表示を選択。 3.前述のコードをコピペ。 4.エディタを×で終了 以上です。

mas0400
質問者

お礼

ありがとうございます!! できました───っ!! (^o^) 驚きましたー!! 今年一番の目からウロコです!! VBAにイベントプロシージャーという概念があるなんて、 知りませんでした。(大汗) いつも「標準モジュール」でしかコードを書いたことが ありませんでした。 勉強になりました。本当にありがとうございました。 今年最大の感謝を込めて……。(^^)

その他の回答 (3)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.4

#1です。 keirikaさんがレス済みですが、絵付きの解説HPです。 Excel VBA 入門講座 ワークシートのイベントプロシージャ http://excelvba.pc-users.net/fol3/3_6.html

mas0400
質問者

お礼

何回もすみません。ありがとうございます。(^^) できました───っ!! VBAにイベントプロシージャーという概念があるなんて、 全然知りませんでした。(^_^;) また、教えて頂いたURLのサイトは、非常に分かりやすいですね。 (今まで何十と見た中で一番分かりやすいかも) これからじっくり読んで勉強したいと思います。 本当にありがとうございました。(ペコリ)

  • keirika
  • ベストアンサー率42% (279/658)
回答No.2

Private Sub Worksheet_SelectionChange(ByVal Target As Range) Range("a1") = Application.Sum(Target) Range("a2") = Application.Average(Target) End Sub

mas0400
質問者

お礼

さっそくのご回答ありがとうございました。 えっと、すみません、よく分かりません。恐縮です。(汗) 範囲選択をしただけで、このサブルーチンを 起動するにはどうすればいいのでしょうか??? 何度もすみません。よろしくお願い申し上げます。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

WorksheetFunction が便利です。 全ての関数をVBAで使えるわけではないですが、↓の関数は VBAでも使えます。 Dim selrng As Range If TypeName(Selection) <> "Range" Then Exit Sub Set selrng = Selection MsgBox "合計:" & WorksheetFunction.Sum(selrng) & vbCrLf & _ "平均:" & WorksheetFunction.Average(selrng) & vbCrLf & _ "個数:" & WorksheetFunction.CountA(selrng) & vbCrLf & _ "最小:" & WorksheetFunction.Min(selrng) & vbCrLf & _ "最大:" & WorksheetFunction.Max(selrng)

mas0400
質問者

お礼

さっそくのご回答ありがとうございました。 えっと、すみません、よく分かりません。恐縮です。(汗) Exit Sub とあるのでサブルーチンだと思うのですが、 範囲選択をしただけで、このサブルーチンを 起動するにはどうすればいいのかが分かりません。 (お恥ずかしい……(^_^;) ) 何度もすみません。よろしくお願い申し上げます。

関連するQ&A

  • エクセルのマクロで選択範囲の合計を求めたい

    A2:A10に数字があってその一つ下に合計をVBAで出したいのですがどうしたらよいでしょうか。 数字はA2:A50とかA2:A30とか毎回変わります、そしてその下に合計を出します。 マクロで記録したらその選択範囲まで記録されてしまうので 違う範囲が求められません。 とにかくある範囲のセルを選択してその選択範囲の一番下か、または選択範囲の一つ下に合計を出したいのです。 もしくはそのアクティブセル上にある数字の合計です。 どうぞご教示下さい。

  • EXCEL マクロ

    エクセルマクロ初心者です。 エクセル2007で、複数選択したセルの合計値・平均値をコピーできないか悩んでいます。作業によって、選択するセルが変わりますので、セル番地の指定をせずにマクロの書くことができますでしょうか。 イメージとしては、複数のセルを選択をしたときに、ステータスバーにオートカルクで表示される合計値・平均値をクリップボードにコピーし、別のセルに結果をペーストする感じ(ペーストする際に合計値・平均値のどちらを貼り付けるか選択できれば尚、良)です。 個人用マクロブックに登録して、不特定ブックで使用したいマクロです。よい方法があれば教えて下さい。

  • VBA 範囲選択について

    複数のセルを選択してマクロを実行し、範囲選択の個数をMsgboxで表示したいです 例えばA1:B5、C6、D2:E3、を同時に範囲選択していたら「3個」のように表示 分かる方がいらっしゃるのであれば、回答をよろしくお願いします

  • EXCEL 範囲指定後矢印線を引くマクロの作り方

    範囲選択した任意(例:A1~C1)のセルに、オートシェイプの矢印線を自動的に引くマクロの作り方を教えて下さい。 できれば、矢印線の始点にオートシェイプの丸(黒丸ではなく白丸)も一緒に引けるマクロも教えて下さい。 範囲指定するセルの長さは一定ではなく、長さがいろいろになります。 工程表を作成するにあたり、同じ手順を繰り返す為、マクロ化したいです。

  • Excelのセルを選択すると右下に出てくる合計値や平均値をコピーしたい

    Excelのセルを選択すると右下に出てくる合計値や平均値をコピーしたい。 タイトル通りです。 エクセルで、セルを範囲選択すると、選択したセルの合計や平均が表示されますが、 この数字はセル内の数値のようにコピーできません。 ショートカットでコピーする機能はないでしょうか。 普段使用しているバージョンは2003です。 よろしくお願いします。

  • VBAで、選択範囲の合計を表示するマクロを作りたい

    あるセル範囲(例えばB1:G1)にそれぞれ数値が入力されていたとします。 入力ダイアログでその範囲を指定し、その範囲内の数値の合計値を表示するマクロを作りたいのですが、やり方が分かりません。 セル範囲を入力させるプログラムはこれで合っていますか? Sub セル範囲の合計() Dim 範囲 As Range 範囲 = appllication.InputBox(prompt:="セル範囲は?", Title:="セル範囲", Type:=8) End Sub ここからどのように変えればいいでしょうか?

  • エクセルでステータスバーに出てくる合計値やデータの個数をクリップボードにコピーしたい

    エクセルで、範囲を選択すると、「合計値」や「データの個数」などをステータスバーに表示できると思います。 その値をクリップボードにコピーしたいのですが、やり方をご存知の方がいらっしゃればご教授願います。 標準機能では実装されておらず、マクロやアドインを追加する必要があってもOKで、フリーでそういったマクロやアドインがあれば、ダウンロード先を教えていただければと思います。 よろしくお願い致します。

  • マクロを使い選択範囲を次々と変えて並べ替えたい

    マクロ作成は 範囲選択 A4~G12 マクロ記録開始 並べ替え E列 降順 マクロ記録終了 でマクロを作成し 次に範囲選択 A14~G22でこのマクロを実行すると範囲選択が前と同じA4~G12が並べ替えられてしまいます。 マクロの中を見ると範囲選択 A4~G12が書かれてしまっています。 次のように、選択範囲を次々と変えて並べ替えるマクロを作りたいのですがお教え願います。 1. 範囲選択 A4~G12を選択 マクロ実行で選択範囲をE列の値で降順並べ替える 2. 範囲選択 A14~G22を選択 マクロ実行で選択範囲をE列の値で降順並べ替える 3. 範囲選択 A28~G32を選択 マクロ実行で選択範囲をE列の値で降順並べ替える

  • EXCELマクロ 最終データまでの範囲選択

    こんにちは。 EXCELマクロでデータの範囲選択の方法を教えてください。 A1~A10には10個のデータ(固定) B2~不定のデータ この範囲を選択する方法を教えてください。 (『 みたいにA列に固定データがあるのでうまく 範囲をひろえません。)

  • セルに数字が入っていて、それを選択すると合計が下にでるようにするには?

    こんにちは、みなさん!! 【質問】セルA1とB1に、それぞれ数字がA1→100B1→100と 入力されている。A1とB1を選択すると、自動的に下に合計=200 と表示される。 この機能がいつしか使えなくなってしまいました。 選択しても、合計が表示されないのです。また、合計が表示される ようにするにはどうすれば良いでしょうか? ご存知の方いらっしゃいましたらよろしくお願いします。

専門家に質問してみよう