
No.2ベストアンサー
- 回答日時:
添付画像①をご覧ください。
集計表はQchan1962さんがお示しになったコードもとに繰返しを入れたVBAで作成しています。
これはご質問者の以下の同様のご質問
https://oshiete.goo.ne.jp/qa/12671553.html
に回答したVBAです。
これだと図形の「色」で集計しているため、形は違うのですが、E2セルにある図形が「あ」に集計されています。
つまり、前回回答のVBAだと「形が異なっても色が一致していれば、形は無視して集計される」ということになります。
このような事態を回避するため「形も色も一致している場合に集計する」方法を考えでみました。
挿入する図形がオートシェイプであれば形状ごとに定数が割り当てられています。
以下は形状定数をと色を両方取得して比較することにより「形も色も一致している場合に集計する」というVBAに修正したものです。
このVBAで集計した結果が、添付画像➁です。
E2セルの画像は、集計表に存在しないので、この画像は集計表に集計されない画像ということになります。
Option Explicit
Sub Count_Shapes2()
Dim buf1 As String
Dim buf2 As String
Dim i As Long
Dim shp As Shape
Dim adrs As String
Dim ct As Long
For i = 3 To 9
ct = -1
adrs = "A" & i
For Each shp In ActiveSheet.Shapes
On Error Resume Next
If shp.TopLeftCell.Address(0, 0) = adrs Then
buf1 = shp.AutoShapeType
buf1 = buf1 & "-" & shp.Fill.ForeColor.RGB
End If
Err.Clear
Next shp
For Each shp In ActiveSheet.Shapes
buf2 = shp.AutoShapeType
buf2 = buf2 & "-" & shp.Fill.ForeColor.RGB
If buf1 = buf2 Then ct = ct + 1
Next shp
MsgBox adrs & "セルのシェイプと同じ形、同じ色の数は" & ct & "個です"
Range(adrs).Offset(0, 2).Value = ct
Next
End Sub

大変遅くなり申し訳ございません。
とてもわかりやすいご指導をありがとうございました。
これを参考に自分なりにいろいろと編集してみたいと思います。
本当にありがとうございました。
No.1
- 回答日時:
こんばんは、
①オートシェイプを色別に個数をカウントすることは出来ますか?
出来ます。
②結果をテキストで書き出し、一覧表にしたいです。
可能です。
③具体的に教えていただけると助かります。
ご質問の趣旨が解りません。あなたは、開発者ですか?利用者ですか?
開発者なら、どこまでご自身で作れますか?
運用(利用)者なら、いつでもコミュニケーション取れる詳しい人かプロに作ってもらいましょう。
または、時間が許せば、自身で基本的な事を理解して開発者側になり質問するのが良いと思います。
①について
https://oshiete.goo.ne.jp/qa/12671553.html
の様にサンプルがA1にあった場合の一例、、
変数宣言は割愛
For Each shp In ActiveSheet.Shapes
On Error Resume Next
If shp.TopLeftCell.Address(0, 0) = "A1" Then buf = shp.Fill.ForeColor.RGB
Err.Clear
Next shp
For Each shp In ActiveSheet.Shapes
If shp.Fill.ForeColor.RGB = buf Then ct = ct + 1
Next shp
MsgBox "A1セルのシェイプと同じ色の数は" & ct - 1 & "個です"
②ついて割愛
範囲をループして結果を書き出せば良いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) 【スプレッドシート】白色のセルをカウントしたい 2 2023/02/24 07:39
- Visual Basic(VBA) Sheet1の出荷日と品名が並んだ表からSheet2の品名別出荷日別の個数一覧表を作っています。 オ 3 2022/12/01 23:54
- Excel(エクセル) countif関数について質問 4 2022/06/14 12:11
- Excel(エクセル) 重複しているか否かをソートせずに判断する方法ありますか? 2 2022/07/06 21:16
- SQL Server 2つのSQL(Access)の結果[時刻,カウント数]を結合して集計する方法 1 2022/04/06 22:57
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Excel(エクセル) エクセルのマクロで複数条件に当てはまるものを全て抽出したいです 7 2022/05/21 08:51
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- Excel(エクセル) 【エクセル関数】アルファベットで以上だったらカウントする 4 2022/07/09 14:07
- Excel(エクセル) 【Excel関数、count系】どなたか教示下さると助かります。 Excelでシフトを管理しており、 2 2022/07/09 06:34
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Formsによるアンケー...
-
IF関数を使用した数字に、カン...
-
エクセルのピポットテーブルで...
-
ピボットテーブルのことです
-
マクロで貼り付け位置を可変さ...
-
エクセルの集計を数字以外です...
-
ピボットテーブルの項目間の計算
-
エクセル ピボットテーブルを更...
-
オートシェイプを色別に個数を...
-
エクセルで数値のプラス毎とマ...
-
エクセル2000での表の作成について
-
ある審査の結果を迅速にエクセ...
-
accessのdateserialがうまくい...
-
勤務表の中抜け集計の関数を教...
-
Excelで列の項目を固定して集計...
-
Excelの小計機能をVBAでやりた...
-
価格帯別集計 EXCELで効率の良...
-
Excel 同一列内にある、同一内...
-
ピボットテーブルへの集計フィ...
-
EXCEL ピボットテーブルで指定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Formsによるアンケー...
-
IF関数を使用した数字に、カン...
-
エクセルのピポットテーブルで...
-
ピボットテーブルの項目間の計算
-
ピボットテーブルのことです
-
勤務表の中抜け集計の関数を教...
-
マクロで貼り付け位置を可変さ...
-
エクセルの集計を数字以外です...
-
エクセルの集計機能を横方向(...
-
オートシェイプを色別に個数を...
-
エクセルで○や×の図形の集計は...
-
保存ブックを開かずコピーペー...
-
ピボットテーブルへの集計フィ...
-
パワーポイントで資料を作る時 ...
-
エクセルで数値のプラス毎とマ...
-
"アンケート君"の利用方法を教...
-
ピポットテーブルの参照元を別...
-
エクセル 小計後に別シートにデ...
-
エクセルのフッターについて
-
エクセル ピボットテーブルを更...
おすすめ情報