Самое простое решение - создать функцию, которая будет возвращать 1, если изображение существует в ячейке, и 0, если его нет.Это работает только для отдельных ячеек и требует изменения для нескольких ячеек.
Function CellImageCheck(CellToCheck As Range) As Integer
' Return 1 if image exists in cell, 0 if not
Dim wShape As Shape
For Each wShape In ActiveSheet.Shapes
If wShape.TopLeftCell = CellToCheck Then
CellImageCheck = 1
Else
CellImageCheck = 0
End If
Next wShape
End Function
Этот код может быть запущен с использованием:
Sub testFunction()
If CellImageCheck(Range("B6")) Then
MsgBox "Image exists!"
Else
MsgBox "Image does not exist"
End If
End Sub