
No.4ベストアンサー
- 回答日時:
VBAでの解決方法について、ご質問者の同様のご質問
https://oshiete.goo.ne.jp/qa/12672371.html
で、Qchan1962さんがコードをお示しになっておられます。
以下はQchan1962さんのコードを修正したものです。
繰返しと若干の変更を加えて、とりあえず集計表が作成される状態にしてあります。
Sub Count_Shapes()
Dim shp As Shape
Dim i As Long
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 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
Range(adrs).Offset(0, 2).Value = ct
MsgBox adrs & "セルのシェイプと同じ色の数は" & ct & "個です"
Next
End Sub
図形のサンプルを作成して、上記コードを実行させた結果が添付画像になります。

ご回答ありがとうございました。
皆様のご指導のもと、いろいろと試してみましたがうまくできませんでした。VBAの勉強を始めたばかりなので・・・
とても助かりました。
No.3
- 回答日時:
マクロで可能です。
ただしvba に詳しくないと難しいでしょう。まずNo1の方のソースをアレンジしてください。
オートシェイプには属性がありますから、
No1の方のフォー・イーチの中のイフ文を加工してください。
例
オートシェイプの形や色を変数に代入
その上で形や色を判定して、件数をカウントする
Select case 形、色
丸、ピンク:あ = あ + 1
丸、赤い色:い = い + 1
End Select
セレクト文よりはIF文の方がよいかもしれません。
シェイプの属性が何かは、マクロを録音ボタンを使って生成してみて、
どんなものがあるか参考にしたり、
ネットでシェイプ属性に何があるか調べましょう。
およそ上記で言っている事が、
理解できるようになれば、マクロは作れます。
後は集計した個数を数量の列に表示するだけですね。
<開始>ボタンを配置して、
ボタンを押したら集計結果が表示されるようにするとよいでしょう。
がんばってみてくださいね。
お返事が遅くなり申し訳ございません。
VBAの勉強を始めたばかりなので、いろいろと試してみましたが、
うまくいきませんでした。
しかし、いろいろと勉強になりました。
ありがとうございました。
No.1
- 回答日時:
こんにちは
>マクロやVBAでカウントできますか?
できるとは思いますけれど・・・
>名前毎に個数をカウントしたいです。
同じ名前のシェイプを作っちゃうと、後々、区別するのが面倒だと思いますけれど。
(通常は、ユニークな名前にしておく)
そんなことはどうでもいい、とおっしゃるのなら…
Const searchName = "hoge"
Count = 0
For Each shp In ActiveSheet.Shapes
If shp.Name = searchName Then Count = Count + 1
Next shp
MsgBox searchName & "の数は" & Count & "です"
のような感じで可能かと。
※ 対象はActivesheet内のシェイプとしてあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet1の出荷日と品名が並んだ表からSheet2の品名別出荷日別の個数一覧表を作っています。 オ 3 2022/12/01 23:54
- Excel(エクセル) Excelでの複数条件のカウントについて 1 2022/09/25 07:40
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Excel(エクセル) マクロ/VBAについて教えてください。 10 2022/05/27 12:59
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Visual Basic(VBA) VBAリストボックスで選択した後 5 2022/11/07 17:50
- その他(Microsoft Office) 【スプレッドシート】白色のセルをカウントしたい 2 2023/02/24 07:39
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WPSOffice_マクロの有効化について
-
複数のマクロボタンをまとめて...
-
Excel マクロの編集がグレーに...
-
エクセルの、記録を終了したマ...
-
Excelのマクロでボタンを押すと...
-
エクセル ボタンに設定したマク...
-
エクセル マクロ名にブック名...
-
エクセルマクロで、別のブック...
-
Excelマクロで、稼働中のマクロ...
-
エクセルで、「いいね」のよう...
-
エクセルの表を複数枚印刷した...
-
エクセルで明日の日付を表示す...
-
(Excel VBA)シートコピー時マ...
-
Excel:マクロを消す方法教えて...
-
マクロ実行ボタンを自動削除したい
-
エクセルでマクロ(Excel 4.0)...
-
LDPlayerのマクロの編集方法を...
-
個人マクロを移動させたい
-
excelのグラフをクリックして最...
-
他のBOOKにマクロを反映させな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
複数のマクロボタンをまとめて...
-
エクセル ボタンに設定したマク...
-
エクセルでマクロ(Excel 4.0)...
-
エクセル マクロ名にブック名...
-
Excelのマクロでボタンを押すと...
-
Excelマクロで、稼働中のマクロ...
-
エクセルの、記録を終了したマ...
-
エクセルで、「いいね」のよう...
-
エクセルの表を複数枚印刷した...
-
エクセルマクロで、別のブック...
-
LDPlayerのマクロの編集方法を...
-
(Excel VBA)シートコピー時マ...
-
Excelのマクロ名の並び順の法則...
-
マクロをマクロを使ってコピー...
-
エクセルで明日の日付を表示す...
-
Excelマクロをバックグラウンド...
-
Ctrl+Zが使えない
-
マクロ実行ボタンを自動削除したい
おすすめ情報
すみません。エクセル初心者です。なので、具体的に例をあげます。
添付のようなもので、「あ」「い」「う」・・・のような集計表を作りたいです。
一度には無理かもしれませんが、「あ」を選択して、数量が確認できる・・・でもいいです。
これを実現できるマクロを教えてください。
よろしくお願いいたします。