• ベストアンサー

Excel2002でオートシェイプの数の拾い出し

こんにちは。 Excel2002です。 ワークシート内に、以下のオートシェイプを配置します。 (1)基本図形:丸。色を赤に設定 (2)     〃     青に設定 (3)     〃    黄色に設定 各色、ランダムに多数配置。 このオートシェイプの、それぞれの個数を数えて セルにその個数を記入させたいのですが、 そのような事は可能ですか? また、どうやるか教えて頂きたいのですが・・・ 宜しくお願い致します。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

シート上の指定された色のオートシェイプ(丸)を数えるユーザ定義関数を作りました。  =CountOval(13) のように使用します。( )内の数字は色を示す数値です。黄色:13、青:12、赤:10です。 マクロはALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい Private Function CountOval(clr As Integer) As Integer Dim shp As Shape  For Each shp In ActiveSheet.Shapes   If shp.AutoShapeType = msoShapeOval And _     shp.Fill.ForeColor.SchemeColor = clr Then    CountOval = CountOval + 1   End If  Next shp End Function もし丸以外のシェイプも一緒に数えたいなら   If shp.AutoShapeType = msoShapeOval And _     shp.Fill.ForeColor.SchemeColor = clr Then を   If shp.Fill.ForeColor.SchemeColor = clr Then にしてください。

warterlily
質問者

補足

すみません。 作っていただいたこのマクロを、おっしゃるとおりに VBE画面右側に出てきたウィンドウに貼り付け、 ワークシート画面に戻ってセルに『=countoval(13)』と入力したところ、『#VALUE!』と表示されてしまいました。 私の作ったオートシェイプの色と合っていないのでしょうか?? この色番号は、どこを見れば分かりますか? お手数をお掛けしてしまい大変申し訳ございません・・

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01です。 #VALUE!エラーですか? 色の問題ではないと思います。該当する色のシェイプが全くない場合は結果が0になり、#VALUE!エラーにならないのですが… ユーザ関数を入力したセルを選択してF2で編集モードにして、Enterを押下したら正しく計算されませんか? 色番号はパレットの変更をしているとPC毎に変わる可能性があるので、「ツール」→「マクロ」→「新しいマクロの記録」→「シートのシェイプの色を塗る」→「ツール」→「マクロ」→「マクロ記録の停止」を実行し、ALT+F11でVBE画面を開き「標準モジュール」に書かれた番号を見のが一番確実な方法です。

warterlily
質問者

お礼

解決しました!! マクロまで作って頂き、ありがとうございました!

関連するQ&A

  • 【EXCEL VBA】オートシェイプをクリックした時にそのオートシェイプの名前を取得したい

    ワークシートに多数(60個程度)のオートシェイプが配置されています。それらにはひとつひとつ「名前」をつけています。(オートシェイプ1とかを1日とかに変更しました) これらのオートシェイプをボタン代わりにマクロを割り当てて実行しようとしています。 そこで、例えば”1日”と名前を定義したオートシェイプがクリックされた時にその名前”1日”を取得する方法が解りません。 説明が下手でうまく伝わっているか心配ですがよろしくお願いします。

  • オートシェイプの図形の中は塗れるのでしょうか?

    はじめまして。 ワードのオートシェイプについてお伺いします。 オートシェイプの図形(マルやシカク)の中は塗れるのでしょうか? お願いします。

  • 重なったオートシェイプで下の図形のみを動かしたい

    質問お願い致します m( _ _ )m オートシェイプに関する質問です。 ある図形Aを描きます。 図形Aの上に、オートシェイプの○を書きます。 そうすると、○の下にある図形Aは、クリックしようにも選べません。 クリックすると○が選択されます。 ○を選択されないようにするにはどうすればいいですか? やりたいことは、○の下の図形を少し動かして微調整したいのです。 よろしくお願い致します。

  • EXCEL2007  オートシェイプ(図形)

     EXCEL2007を使っています。  図形(オートシェイプ)で困っています。 ★図形(例;□や○)などを作ると、毎回毎回、全体色つき(オレンジっぽいグラデーション)で出てくる ⇒普通に、ただ線と(塗りつぶしなら、せめて白で出てきてほしい) ★塗りつぶし(グラデーション)のときの、色指定をどうしたらいいのか? ・図形の書式設定→塗りつぶし→グラデーションをすると、色が1色しか選べず、その1色と、最初に出てきているオレンジの間でグラデーションが作られる (たとえば、色で黄緑を指定すると、オレンジ~黄緑のグラデーションになってしまい、ピンク~黄緑とかができない) ★枠線が指定できない ・図形の書式設定→線のスタイルで、線の幅や実線、点線の選択ができるのですが、反映されません ⇒線のスタイルが、もともと幅2ポイント、実線ででてきます。これを 幅1ポイント、点線にしたいのですが<線のスタイルの実線、点線のところを開いて、点線を選んで、右下の「閉じる」を押しても 線が2ポイントの実線のままです

  • Wordのオートシェイプで、デフォルトを変更したい。

    オートシェイプのデフォルトが、塗りつぶしで「白」なのですが、 私は透明な丸を使うことが多いので変更したいのです。 図形を右クリックすると「オートシェイプの規定値に設定」が選べますが、別のファイルを開くと、また塗りつぶし「白」に戻っています。 どのファイルを開いても「塗りつぶしなし」に設定したいのですが、方法があれば教えて下さい。 宜しくお願いします。

  • オートシェイプの円弧

    オートシェイプで扇形を使いたかったためググってみたら、基本図形に円弧があるようなことがかかれてあったのですが、私の基本図形には円弧らしきものが見当たりません。なぜでしょうか?というより普通にあるのでしょうか? ちなみにバージョンは2003で(エクセル、ワードともに)その他のオートシェイプで3/4円があるのは知ってるんですが、私が使いたいのは1/4円のため角度を変えると、消えた部分が余白になってページの端につめて配置したいのでその空間が邪魔になってしまいます。 何か良い方法もしくは円弧があるかどうか教えてください。

  • オートシェイプ内での文字位置の設定

    こんばんわ。 基礎的な質問ですみません。 PowerPointやWord(2003版)で、 オートシェイプで図形を描き、 そこにテキストを追加しました。 この文字を図形内で 上下に「上揃え」(または「中央揃え」、「下揃え」)に したいのですができません。 Excelではできる (オートシェイプの書式設定→配置→文字の位置→縦位置)のですが、 どのようにしたらよろしいでしょうか? よろしくお願いします。

  • エクセルのオートシェープについて

    エクセルのオートシェープで「グループ化ではなく、図形の結合」って出来ないですか? (○と△を合体させて一つの金魚のような図形にすることです。) VBAを使う方法でもそのようなことが出来ればありがたいのですが、そのサンプルプログラムを探しても見当たりませんでした。 方法知ってる方いましたら教えてください。

  • オートシェイプを透かして表示したい

    オートシェイプで書いた図形を透かして表示したい場合、どこを設定したらいいですか? 教えて下さい。

  • オートシェイプの中の文字が印刷されない。

    オートシェイプ(四角形)の中に文字を入れて印刷したところ、青・黄・緑は完全に印刷されるのに、赤だけが、文字だけ印刷されません。 赤の四角形はうす赤色の四角形に、黒色の文字です。 プリンタのインクの状況をチェックしましたし、試しにプリンタ選択のOffice Image Document Writer でも、ファイルとして印刷(出力)してみましたが、赤の四角形だけしか出てきません。 Wordの印刷プレビューも、チェックしていますが、カラー全色+黒字すべて出ています。 どうすれば、赤のシェイプに黒の文字が出てくるようになるでしょうか?よろしくお願いします。

専門家に質問してみよう