Excel'de VBA ile grafiği sil


2

Çalışma sayfalarımın bazılarında resimler görüyorum ve Excel bana "Grafik 4" gibi isimler gösteriyor. Şimdi onları otomatik olarak silmek istiyorum. 200 Excel dosyam var, daima aynı resim ve aynı resim. Böyle denedim:

Sub Clear_Images()
    Dim directory As String, fileName As String ', sheet As Worksheet, i As  Integer, j As Integer
    Dim wks As Worksheet
    Dim myPict As Shape

    Application.ScreenUpdating = False

    directory = "C:\Users\"
    fileName = Dir(directory & "*.xl??")

    Do While fileName <> ""
        Workbooks.Open (directory & fileName)

        For Each wks In ActiveWorkbook.Worksheets
            For Each myPict In wks.Shapes
                If myPict.Name = "Grafik 4" Then
                    myPict.Delete
                End If
            Next myPict
        Next wks
        Set wks = Nothing

        Workbooks(fileName).Close
        fileName = Dir()
    Loop

    Application.ScreenUpdating = True
End Sub

Ancak VBA’da her resim “Nesne x” ismine sahip görünüyor (x 1-açık sayılardır). Birinin resmin gerçek adını nasıl okuyabileceğim hakkında bir fikri var mı?

En iyi, Franz

Yanıtlar:


0

Excel 2013'te (Almanca) hızlı bir test yaptım. Bazı rastgele resimler ekledim. Seninki gibi otomatik isimler almışlar, yani "Grafik 4"

görüntü tanımını buraya girin

Bu şekli silmek için bu tekniği kullanırdım:

Sub test()

    On Error Resume Next
    Set image = ActiveSheet.Shapes("Grafik 4")
    On Error GoTo 0

    Debug.Print image.Name

    If Not image Is Nothing Then
        image.Delete
    End If

End Sub

Excel , görebileceğiniz Shapes("Grafik 4")dahili adı olmasına rağmen tanır.Picture 4
Debug.Print image.Name

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.