• ベストアンサー

エクセルの使い方で質問です。

似た質問が、沢山出ているので、「またか!」とお叱りを受けそうですが、既存のQ&Aを見ながらやってみたのですが、どうしてもうまくいかないで、質問しなおしますので、宜しくお願します。 エクセル2007ですが、要するにA列のいくつかのセルに色をつけたのですが、その数の合計をA列の一番最後のセルに表示したいのですが、マクロを使った方法でするということまでは、分かったのですが、実際この場合は、どう打ち込めば良いのかが分かりません。 どうぞ、宜しくお願いいたします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

値を合計する代わりに+1すれば,個数が数えられます。 public function countcolor(byval Target as excel.range) as variant  dim h as range  application.volatile  for each h in target   if h.interior.colorindex <> xlnone then    countcolor = countcolor + 1   end if  next end function 使い方,使用上の注意は全く一緒です。

tokkey
質問者

お礼

ありがとうございました!! 出来ました。 ご親切に大変感謝します。 本当に助かりました。

その他の回答 (3)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

ブックを開く ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける public function sumcolor(byval Target as excel.range) as variant  dim h as range  application.volatile  for each h in target   if h.interior.colorindex <> xlnone then    sumcolor = sumcolor + val(h)   end if  next end function ファイルメニューから終了してエクセルに戻る 使い方: 表のA1:A10(の色つきセル)を合計したいなら,合計を表示させたいA11セルに =sumcolor(A1:A10) と記入する #注意 マクロを使ったどの方法でも共通ですが,色を塗った(塗り替えた)だけ(直後)には,数式は自動再計算されません。 必ずF9キーを押すなどして,正しい計算結果を再計算させなければなりません。

tokkey
質問者

お礼

ありがとうございます。 待ってました!このお答え、明快で分かりやすい。 と、思ったけど、これだと色のついたせる内の数値の合計が表示されてしまいますね。 私が欲しかったのは、色の着いたセルの数だったのですが、 すみません、もしも、許されるなら、その方法も教えていただけたら嬉しいのですが・・・、勝手を言って申し訳ありませんが、宜しくお願いいたします。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

一例です。 Sub sample() Dim i As Long, wk As Double For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row If Cells(i, 1).Interior.ColorIndex <> xlNone _ And IsNumeric(Cells(i, 1)) Then wk = wk + Cells(i, 1) End If Next Cells(i, 1) = wk End Sub

tokkey
質問者

お礼

回答いただき有難う御座います。 それにしても、マクロがもっと分かりやすい言語だったらと思うものの、英語が分かれば直観的に扱えるのでしょうけど・・・、 貴重な情報を教えていただき感謝です。

  • FEX2053
  • ベストアンサー率37% (7995/21381)
回答No.1

VBAを使うならこれかな? 要は「セルの色を抽出する関数を作る」方法です。 http://www.geocities.jp/chiquilin_site/data/050803_coloring_cells.html (他の掲示板なので、本当は規約違反なんですが、 2007ならこっちの方がまとまってるかも。4.0マクロ だと、2007では色が違っても同じ値を返すことが あるので) http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1426505064 ただ、VBAを使わなくても、データが表になって居れば 「セルの色で抽出する」「抽出したデータを合計する」と いう方法で計算は出来ると思いますけど。 http://www.relief.jp/itnote/archives/002856.php http://www.asahi-net.or.jp/~ef2o-inue/shiki/sub03_020_06.html

tokkey
質問者

お礼

いろいろとご紹介いただき有難う御座います。 現在、教えていただいた情報をもとに奮闘中でございます。 なかなか、難しさも感じつつも、便利な機能に感動しながら覚えていっております。 それにしても、便利な世の中になったものです。

関連するQ&A