如果名称包含特定字符串,则删除图像的宏

问题描述 投票:0回答:1

我有在 Excel 中放置浮动图片的代码。当我输入新条目时,我手动选择图像并将其删除,以便我当前的代码可以添加新图像。 我希望用宏来自动化这个过程。 我注意到,每次添加图像时,Excel 中都会给出新的图片名称。 (即 - 图片 2、图片 5、图片 21 等)

我试图使用下面的代码来查看是否找到字符串“Picture”然后将其删除,但我似乎无法让它工作。 任何建议表示赞赏!

    Sub Delete_Pictures_ByName()

    Dim shp As Shape
    Dim picName As String
    
picName = "Picture "
    
For Each shp In ActiveSheet.Shapes
        If shp.Type = msoPicture Then
            If shp.Name Like "*" & picName & "*" Then
                shp.Delete
            End If
        End If
    Next shp
End Sub
excel vba
1个回答
0
投票

我更新了代码行以使用 shp.Type = msoLinkedPicture

    Sub Delete_Pictures_ByName()

    Dim shp As Shape
    Dim picName As String
    
picName = "Picture "
    
For Each shp In ActiveSheet.Shapes
        If shp.Type = msoLinkedPicture Then
            If shp.Name Like "*" & picName & "*" Then
                shp.Delete
            End If
        End If
    Next shp
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.