オートシェイプ、画像などが利用されているか確認

シートにオートシェイプ、画像などが利用されているかを確認する。

指定のシート内にオートシェイプ、線、画像、SmartArtなど図が利用されているかを確認します。
確認するにはSheetオブジェクト内のShapesプロパティを利用して調べることができます。

このサンプルコードではオートシェイプ、線、画像、SmartArtなどの図の種類は問わずに図が使われているかを確認し、その総数を出力しています。

動作確認
Windows10/Excel2016:○
Windows11/Excel2024:○

'******************************************************************
' オートシェイプ、画像などの有無を判定
'******************************************************************
Sub Main_ChkShapes()
   
    Dim sObj As Shape
    Dim lCnt As Long
    '指定のシート内の図(オートシェイプ、画像など)があればカウント
    For Each sObj In Sheets("Sheet1").Shapes
        lCnt = lCnt + 1
    Next
    
    '有無結果
    If lCnt > 0 Then
        Debug.Print "オートシェイプ、画像などのオブジェクトが" & lCnt & "個あります"
    Else
        Debug.Print "オートシェイプ、画像などのオブジェクトはありません"
    End If
    
End Sub

 ■実行結果

利用しているオートシェイプなど