尝试删除范围内的所有照片。 我在网上找到了以下代码,但它在行上抛出了类型不匹配错误:
For Each pic In ws.Pictures
非常感谢任何输入或替代代码。
Sub clearPics()
Dim s As String
Dim pic As Picture
Dim rng As Range
Set ws = Worksheets("sort")
Set rng = ws.Range("c:c")
For Each pic In ws.Pictures
With pic
s = .TopLeftCell.Address & ":" & .BottomRightCell.Address
End With
If Not Intersect(rng, ws.Range(s)) Is Nothing Then
pic.Delete
End If
Next
End Sub
谢谢, JJ
答案 0 :(得分:0)
您已将pic声明为图片。
将Dim pic
重命名为Dim pic1
之类的其他内容并立即尝试。或者只是删除该行。
我认为正在发生的是pic是类型图片。但是每个ws.pictures作为一个类型返回的内容并不等于图片
答案 1 :(得分:0)
以下代码仅删除表格中的图片。 通过检查Shape.Type = 11获取图片。
Sub clearPics()
Dim shp As Shape
For Each shp In Worksheets("sort").Shapes
If shp.Type = 11 Then
shp.Delete
End If
Next shp
End Sub