Anasayfa | Akademik Forum | Sizden Gelenler | Sipariş
Menü Açıklamaları
Sorular - Cevaplar
Makaleler
Makrolar
Yerleşik İşlevler
Animasyonlar
Yumurtalar
Fonksiyonlar
MTK Programlar
ExcelCE
Dosya İndir
Neler Yaptık?
İletişim
Sorular - Cevaplar
Soru-Cevap: 63 - Süleyman Uzunköprü

Excel’e resimler eklemiştim tüm resimleri silmek için ne yapmalıyım, işlemin VBA karşılığı nedir?
Menüden - Düzen – Git - Özel - Nesneler komutunu kullandıktan sonra Delete tuşu ile silebilirsiniz.

Sub Ekle_Nesne_TumSil()
  ActiveSheet.DrawingObjects.Delete
End Sub

Sadece istediğim türdeki resimleri silmek için nasıl bir kod yazmalıyım?

Bu konu ile ilgili olarak, Pictures, WordArt, AutoShape Resimlerini kullanmış olma ihtimaliniz var. Bu resimlere her yeni eklenen için bir numara verildiğini biliyoruz. Ancak bu resimlerin adları her zaman sabittir, sadece no'ları değişir. Adlarının VBA dilindeki karşılıklarının bilinmesi sayesinde istediğimiz türdeki nesnelere hükmetme şansına sahip olacağız. Bu işlem için döngü kullanacağız.

Öyle bir kod yazalım ki, hangi türdeki resimleri silmek istesek çalışsın. No'ları yok varsayan bir kod olmalı, çünkü resimlerin numaralarına güven olmuyor her zaman değişiyor. O zaman adları doğru alabilmek için Parçaal Formülü işimize yarayacaktır.

Sub Ekle_Nesne_IstedigimiSil()
  Dim Picture As Object
  Dim Bak As String
  Dim Uzunluk As Byte

  Bak = InputBox("Hangi Türdeki Resim Silinecek?", "S. UZUNKÖPRÜ", "WordArt")
  Uzunluk = Len(Bak)

  For Each Picture In ActiveSheet.shapes
    If Mid(Picture.Name, 1, Uzunluk) = Bak Then
      Picture.Delete
    End If
  Next Picture
End Sub

Destek
M.ÖZTÜRK - Y.KARAMAN
Bu siteyi, "Hayatını çocuklarının Ahlâklı ve Dürüst yetişmesi için harcamış olan Cefakar ve Fedakar, Canım ANNEM'e adadım."
Copyright © 1998-2011 M. Temel Korkmaz - Tüm hakları saklıdır.