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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
オートシェイプに名前を付け名前毎に個数をカウントしたい
Excel(エクセル)
-
エクセルで○や×の図形の集計は出来ますか?
Excel(エクセル)
-
Excelで特定のオートシェイプのみカウントする方法はありますか?
Excel(エクセル)
-
-
4
オブジェクトをカウントする
Excel(エクセル)
-
5
指定範囲内のオートシェイプを数えるには?
Excel(エクセル)
-
6
エクセル マクロで、選択している画像の数を数えたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ピボットテーブルの項目間の計算
-
エクセルのピポットテーブルで...
-
ピボットテーブルのことです
-
エクセルの集計を数字以外です...
-
Microsoft Formsによるアンケー...
-
IF関数を使用した数字に、カン...
-
Accessで日付のみのデータから...
-
確定申告書作成においてパソコ...
-
Outlookの予定表
-
エクセルで○や×の図形の集計は...
-
エクセルの集計機能を横方向(...
-
価格帯別集計 EXCELで効率の良...
-
アンケート結果の集計方法(エ...
-
ピボット 集計アイテム
-
ワードで配布したアンケートの集計
-
エクセルでアンケート表を作成...
-
エクセルのピポットテーブルを...
-
Excelの集計方法について(集計...
-
エクセル 小計後に別シートにデ...
-
マクロで貼り付け位置を可変さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ピボットテーブルのことです
-
エクセルのピポットテーブルで...
-
ピボットテーブルの項目間の計算
-
Excel ピボットテーブルで日付...
-
エクセルで○や×の図形の集計は...
-
マクロで貼り付け位置を可変さ...
-
エクセルの集計を数字以外です...
-
勤務表の中抜け集計の関数を教...
-
オートシェイプを色別に個数を...
-
Microsoft Formsによるアンケー...
-
パワーポイントで資料を作る時 ...
-
IF関数を使用した数字に、カン...
-
エクセルの集計機能を横方向(...
-
エクセルで数値のプラス毎とマ...
-
保存ブックを開かずコピーペー...
-
ピボットテーブルへの集計フィ...
-
エクセルを使ってCSVデータを自...
-
価格帯別集計 EXCELで効率の良...
-
EXCELで大文字と小文字を...
-
ピボットを使ったシートに計算...
おすすめ情報