
No.2ベストアンサー
- 回答日時:
> エクセルにデフォルトで存在する星型のオブジェクト
使用している色をいちいち数値や色名で指定すると煩雑ですので、
数えたい色(例えば赤)の星型をひとつ選択した状態で実行します。
エラー処理はしてませんので、オブジェクトを選択しないで実行すると
エラーになります。
Sub Test1()
Dim shp, Col, C
Col = Selection.ShapeRange.Fill.ForeColor.SchemeColor '(A)
For Each shp In ActiveSheet.Shapes
If shp.AutoShapeType = msoShape5pointStar Then '(B)
If shp.Fill.ForeColor.SchemeColor = Col Then C = C + 1 '(C)
End If
Next
Range("E4").Value = C
End Sub
(A):選択している星型の色を取得しています。
(B):種類がオートシェイプの星形かどうかを判断しています。
(C):星型の色が最初に選択していたものと同じ色ならカウントします。
この回答への補足
本当にありがとうございます。
動作して、数も数えられました。
しかし、大変申し訳ございません。
まるっきりこちらの説明不足なのですが
具体的に申し上げます。
例えばD5~Z5までの間で数えたいのです。
そして、行も三十行くらいあり、
各行で計測したいのです。
行数は毎月変動します。
列も日増しに増えていきます。
計測範囲に関しては、前回説明してくださった中にあったかと思うのですが、当方全くの素人で、まるっきり応用が利きません。
大変申し訳ないのですが、もう一度ご助力いただけましたらさいわいです。
No.4
- 回答日時:
> A5に黄色の星の数
> B5に赤色の星の数
> C5に緑色の星の数
> を表示する
単純に、前回の操作を応用するだけでよいのではないですか?
> 1.A5:A35を赤、B5:B35を青、C5:C35を緑、D5:D35を黄
→ A5:A35を黄、B5:B35を赤、C5:C35を緑
> 2.A5:D35を選択した状態でマクロを実行
→ A5:C35を選択した状態でマクロを実行
No.3
- 回答日時:
#1、2です。
シート上に散在する図形のうち、指定した行にある図形の数をカウントする
場合、その行をチェックするだけではカウントできません。
そのため、1行ごとに全ての図形を参照してその左上角または右下角が対象
行内のセル番地に含まれているかどうかをチェックするか、いったん全ての
図形をチェックしてそれぞれの行番号や色を配列変数に格納しておいてから
行番号や色番号で配分するなどの処理が必要になります。
むしろ、図形ではなく記号としての "★" を利用したほうがよいのでは、と
も思いますが、とりあえず「1行ごとに全ての図形を参照して‥‥」の方法
をとってみました。
> 例えばD5~Z5までの間で数えたいのです。そして行も三十行くらい
使用されている色は、赤、青、緑、黄、の4色と仮定します。
図形の範囲を E5:Z35 と仮定し、A5:D35 に色別の個数を表示する例です。
1.A5:A35を赤、B5:B35を青、C5:C35を緑、D5:D35を黄、に塗りつぶします。
2.A5:D35を選択した状態で次のマクロを実行すると、A5:D35に色別の個数が
表示されます。(のはずです)
Sub Test()
Dim rng, RW, AD, Col, shp, C
For Each rng In Selection
RW = rng.Row
AD = rng.Address
Col = rng.Interior.ColorIndex + 7
For Each shp In ActiveSheet.Shapes
If shp.AutoShapeType = msoShape5pointStar And _
shp.TopLeftCell.Row = RW And _
shp.Fill.ForeColor.SchemeColor = Col Then _
C = C + 1
Next
Range(AD).Value = C
C = 0
Next
End Sub
※どの色にでも対応できるはずですが、「白」または「塗りつぶしなし」は
使わないで下さい。
この回答への補足
本当にご丁寧にありがとうございます。
大変感謝をしております。
そして、誠に申し訳ないのですが
またしてもこちらの説明不足です。
1行の中に3つの☆が入って
A5に黄色の星の数
B5に赤色の星の数
C5に緑色の星の数
を表示する感じです。
(A6...A7...A8...も同様)
成績表を作っておりまして、
一番点数が高かった者のその点数の欄に☆をつけるのです。
だから、オブジェクトの方がよかったのですが
手間であれば、点数の隣に記号の☆を配置する欄を設けて
それをカウントする方がいいかもしれませんね。
いかがでしょうか。
もし、尚ご助力いただけましたら幸甚でございます。
No.1
- 回答日時:
一般機能ではできません。
マクロで次のように記述します。シート全体の中の個数
Sub TEST1()
Range("E4").Value = ActiveSheet.Shapes.Count
End Sub
限られた範囲(例、B5:G20)の中の個数
※左上端が範囲内に入っているオブジェクトを数える例です。
Sub TEST2()
Dim shp, C
For Each shp In ActiveSheet.Shapes
If Not Intersect(Range("B5:G20"), shp.TopLeftCell) _
Is Nothing Then C = C + 1
Next
Range("E4").Value = C
End Sub
オブジェクトの種類を限定して数える場合は、更にその旨の記述が
必要です。
この回答への補足
迅速かつ的確なお返事をありがとうございます。
とても助かります。
エクセルにデフォルトで存在する星型のオブジェクトなのですが
緑、赤、黄で色分けしています。
その限定で数え分けるマクロ(ということなのですね)を
お教えいただけましたら幸甚でございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PowerPoint(パワーポイント) パワーポイントのアニメーションについて 4 2023/06/14 16:25
- その他(プログラミング・Web制作) Pythonのオブジェクトの関数について 2 2023/05/11 19:15
- JavaScript オブジェクト配列の各メンバを任意の式で評価して、その評価値が最大のオブジェクトを返す関数はありますか 2 2023/05/20 15:02
- Java 複数TBLのオブジェクトを1つの変数(オブジェクト)でまとめて管理したい 1 2022/12/17 00:12
- Visual Basic(VBA) Excel VBA オブジェクトマクロ 使用指定について お詳しい方教えてください。 共通エクセルフ 2 2023/03/14 17:26
- PHP クラス 1 2022/08/08 15:12
- Excel(エクセル) テキストの背後にあるオブジェクトとは 3 2023/01/03 20:22
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Illustrator(イラストレーター) ワード。グラデーションがうまく行かない。 2 2022/09/28 19:56
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワポで曲がった両矢印の簡単...
-
エクセルのコメントの引き出し...
-
パワーポイントの表を左90度回...
-
Excel(エクセル) 2010で画像の...
-
【PowerPoint】塗り設定のコピ...
-
写真を上下2枚ずつ均等に配置
-
オブジェクトをカウントする
-
ワードで作図を作るときに,点...
-
エクセルやワードにおける図の作成
-
EXCELでも、WORD描画キャンバス...
-
らせん スパイラル を書きたい。
-
PDFに挿入した図形を丸ごとコピ...
-
エキセルで2重マルを作るには?
-
Excel2007で文字の下線の色を変...
-
パワーポイント 接続ポイント解除
-
変形したブロック矢印を書きた...
-
Excelで挿入した矢印を平行に揃...
-
パワーポイントで立体を作った...
-
線の長さ
-
Excelファイルのサイズがなぜか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワポで曲がった両矢印の簡単...
-
エクセルのコメントの引き出し...
-
パワーポイントの表を左90度回...
-
エクセルやワードにおける図の作成
-
写真を上下2枚ずつ均等に配置
-
【PowerPoint】塗り設定のコピ...
-
エクセルでの図形の書き方
-
パワーポイントで立体を作った...
-
Excel(エクセル) 2010で画像の...
-
線の長さ
-
PDFに挿入した図形を丸ごとコピ...
-
EXCELでも、WORD描画キャンバス...
-
オブジェクトをカウントする
-
パワーポイント 接続ポイント解除
-
エキセルで2重マルを作るには?
-
Excel2007で文字の下線の色を変...
-
Excelで挿入した矢印を平行に揃...
-
図形の移動をカーソルキー(矢...
-
【大至急】パワーポイントで矢印
-
【Word2000】丸付き数字と矢印...
おすすめ情報