質問: 条件付き書式で色塗りしたセルをカウント マクロ 数値がランダムに入っている表に条件付き書式で指定の数式に合致するとセルを色塗りするよう設定しあります。その色塗りしたセルをカウントするにはどうすればよいか検索していましたら、下記にマクロでの手法が説明されていましたが、マクロに詳しくないので、どう利用したらよいかわかりません。 http://keep-on.com/excelyou/1999lng4/199908/99080044.txt たとえば、a1:y30の範囲の表があるとして、1行ごとに色塗りしたセルをカウントしたいです。z1,z2,z3,z4...にそれぞれ結果が表示されるようにするには、上記のマクロ(もしくは違う方法)をどのように使用したらよいんでしょうか? ちなみに1列おきにカウントしたくない列が入っているので、countif関数を使わないでやりたいんです。色のついたセルを定義してやる方法もありましたが、条件付き書式では不可能とわかりましたので、上記の方法しかないのかなと思うんですが。詳しい方、教えてください。
回答: 正直なところを言わせて頂くと > マクロに詳しくないので、どう利用したらよいかわかりません。 なら、マクロは使わないほうが良いですよ。 理解できないものを理解できないまま使っても後の応用は出来ません。 手直しも出来ませんし、自分好みにカスタマイズすることも出来ませんから。 踏まえて、「マクロの使い方」までお教えするつもりはありませんが、 わかりやすく(?)注釈をつけたコードです。 難しい文は使っていないつもりです。 sub sample() dim mycnt as long '変数を長整数型で宣言 dim i as long, j as long columns(26).delete '念のため、26列目(x列)を削除 for i = 1 to 30 ' 変数iの範囲は1~30(後に行指定に使用) mycnt = 0 ' 変数mycntを初期化(0にする) for j = 1 to 25 step 2 ' 変数jの範囲は1~25(後に列指定に使用) 周期は「2」、つまり「1列おき」に処理) if cells(i, j).formatconditions.count > 0 then ' i行j列に「一つ以上の条件付書式が設定」されていたら mycnt = mycnt + 1 '変数mycntに「1」を加算 end if ' 条件終了 next j ' jに「2」(stepで指定した数)を加算して、繰り返し(上限の25に達したら繰り返し終了) cells(i, 26) = mycnt ' i行26列目にmycntの値を入力 next i ' iに「1」を加算して、繰り返し(上限の30に達したら繰り返し終了) end sub 'マクロ終了 重ねて言いますが、理解できないなら使わないほうが良いですよ。 私が「悪質な回答者」なら、このマクロでファイルを壊す可能性もあるのですから。 (そんな無益なことはしないですけどね。) マクロの使い方、命令文の意味などは、別途コツコツ勉強なさって下さい。