コンテンツにスキップ

Excel VBA シートの画像の数をカウントする

Excel VBAでシート上に画像の数が何枚あるかを調べたい時に使う方法

Usage

Sub sample_ShapeCount()

    Dim ws As Worksheet
    Set ws = Sheets("Sheet3")

    Dim shp As Shape
    Dim cnt As Long

    ' 画像の数を取得
     For Each shp In ws.Shapes
        If shp.Type = 13 Then ' 画像タイプで判定
            cnt = cnt + 1
        End If
    Next

    MsgBox "画像の数は" & cnt & "枚です。"

End Sub

type = 13は、shapeのタイプが画像であればTrueになるように指定している

図形の数を調べるなら、type = 1と数値を変更すればOK

shape count

調べたい画像のタイプについては、公式ドキュメント「MsoShapeType 列挙 (Office)」にてプロパティ一覧を確認

Reference

Shape オブジェクト (Excel)
MsoShapeType 列挙 (Office)