• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

  • Forum yazılımı güncelenmiştir.

    Beklenmedik durumlar görürseniz lütfen yönetime iletin.

Sayfadan nesne veya resim silme (Belirli bir sütundan sonra veya aralığında)

Erdinç FIRTINA

Altın Üye
Katılım
14 Şubat 2007
Mesajlar
400
Excel Vers. ve Dili
excel 2003 türkçe
Değerli forum üyeleri,

Aktif bir excel dosyasındaki aktif bir sayfadan aşağıdaki kodlar, tüm resim veya nesneleri siliyor. Aynı aktif sayfadaki belirli bir sütundan sonra yer alan resim veya nesneler silinebilir mi?

Sub Sil()
ActiveSheet.Shapes.SelectAll
Selection.Delete
End Sub

Yani; aktif sayfadaki H sütununa kadar olan nesneler silinsin ancak öncesi olan nesneler silinmesin veya belirli tanımlı bir sütun aralığındaki nesneler silinsin ancak belirli bir sütun aralığındaki nesneler silinmesin.
Tabi ki önceliğim; belirli bir sütun aralığından sonraki nesneler veya resimler silinsin ancak belirtilen sütundan önceki nesneler veya resimleri silinmesin.

Örneğin; Ek dosyadaki H sütununa kadar olan nesneler silinsin ancak H sütunu ve sonrasındaki nesneler silinmesin.

Yardımlarınız için şimdiden teşekkürler...
 

Ekli dosyalar

Aşağıdaki kod A:G aralığından sonraki resimleri siliyor, deneyin
Kod:
Sub a()
en = Range("A1:G1").Width
Dim Shp As Shape
For Each Shp In ActiveSheet.Shapes
If Shp.Left > en Then
Shp.Delete
End If
Next Shp
End Sub
 
Son düzenleme:
Sub Sil()
With ActiveSheet
For Each Sh In .Shapes
If Not Application.Intersect(Sh.TopLeftCell, .Range("A1:G500")) Is Nothing Then Sh.Delete
Next Sh
End With
End Sub
 
Son düzenleme:
Sevgili alicimri öncelikle yardımınız için teşekkür ederim. Hazırlamış olduğunuz kodlar, aktif sayfadaki A1:G1 arasındaki nesneleri siliyor. Oysa benim istediğim ise, G1 sütunu sonrasındaki nesneleri silmekti.
Yardımlarınız için şimdiden teşekkürler....
 
Alternatif kod

Bu kod 8. sutün ve 13. sütün arasındaki bütün nesneleri siler

Kod:
Sub Nesneleri_sil()

Dim Picture As Object
For Each Picture In ActiveSheet.Shapes

If Picture.TopLeftCell.Column >= 8 And Picture.TopLeftCell.Column <= 13 Then
Picture.Delete
End If
Next Picture

End Sub
 
Destek ekibinden sayın turist, öncelikle desteğiniz için teşekkür ederim.

Desteğiniz için hazırlamış olduğunuz kodlarda galiba bir hata veriyor.

(For Each Sh In .Shapes ) satırında olabilir.

Sub Sil()
For Each Sh In .Shapes
If Not Application.Intersect(Sh.TopLeftCell, .Range("A1:G500")) Is Nothing Then Sh.Delete
Next Sh
End Sub

Yardımlarınız ve desteğiniz için şimdiden teşekkürler !!!
 
Sayın halit3 yardımlarınız için çok çok teşekkür ederim.

Bir de, belirli bir sütun sonrası veya belirli bir sütun öncesi nesneleri silmek ile ilgili desteğiniz olabilirse çok sevinirim.
Örneğin; H sütunu sonrası sütunlardaki nesneler silinsin,

veya

S sütunu öncesi sütunlardaki nesneler silinsin .

Yardımlarınız için şimdiden çok çok teşekkürler !!!
 
Olay şu renkli bölümlerden oluşuyor.
yani 8 rakamı H sütünu 13 rakamı M sutunu nu gösteriyor H:M arasını siliyor.

S sutunundan öncekiler silinsin diyorsanız.

8 rakamını 1 yapın bu da A sutunu olur 13 rakamını 18 yapın bu da R sutununu ifade eder.

Rich (BB code):
If Picture.TopLeftCell.Column >= 8 And Picture.TopLeftCell.Column <= 13 Then
 
Olay şu renkli bölümlerden oluşuyor.
yani 8 rakamı H sütünu 13 rakamı M sutunu nu gösteriyor H:M arasını siliyor.

S sutunundan öncekiler silinsin diyorsanız.

8 rakamını 1 yapın bu da A sutunu olur 13 rakamını 18 yapın bu da R sutununu ifade eder.

Rich (BB code):
If Picture.TopLeftCell.Column >= 8 And Picture.TopLeftCell.Column <= 13 Then

Halit Hocam eski bir paylaşınız çok faydalandım. Peki bunu belli satır aralığındaki nesneleri silmekte nasıl uygularız. Halen bu forumdaysanız yardımınızı beklerim teşekkürler.
 
Alternatif kod

Bu kod 8. sutün ve 13. sütün arasındaki bütün nesneleri siler

Kod:
Sub Nesneleri_sil()

Dim Picture As Object
For Each Picture In ActiveSheet.Shapes

If Picture.TopLeftCell.Column >= 8 And Picture.TopLeftCell.Column <= 13 Then
Picture.Delete
End If
Next Picture

End Sub

Halit bey merhaba,

1 ve 3. sütunlar (koddaki sütun numaralarını değiştirdim sadece) arasındaki resimleri silmek için sizin daha önce paylaştığınız yukarıdaki kodu uyguladım. Makroyu çalıştırdığımda resimleri siliyor ama sonunda hata penceresi de çıkıyor. sebebi ne olabilir ve nasıl çözebilirim? teşekkürler.
 

Ekli dosyalar

  • makro hata.jpg
    makro hata.jpg
    37 KB · Görüntüleme: 3
  • vba debug.jpg
    vba debug.jpg
    42.9 KB · Görüntüleme: 3
Geri
Üst