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
Altın Üyelik Bitiş Tarihi
15-05-2026
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

Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
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:

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
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:

Erdinç FIRTINA

Altın Üye
Katılım
14 Şubat 2007
Mesajlar
400
Excel Vers. ve Dili
excel 2003 türkçe
Altın Üyelik Bitiş Tarihi
15-05-2026
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....
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
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
 

Erdinç FIRTINA

Altın Üye
Katılım
14 Şubat 2007
Mesajlar
400
Excel Vers. ve Dili
excel 2003 türkçe
Altın Üyelik Bitiş Tarihi
15-05-2026
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 !!!
 

Erdinç FIRTINA

Altın Üye
Katılım
14 Şubat 2007
Mesajlar
400
Excel Vers. ve Dili
excel 2003 türkçe
Altın Üyelik Bitiş Tarihi
15-05-2026
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 !!!
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
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
 

Erdinç FIRTINA

Altın Üye
Katılım
14 Şubat 2007
Mesajlar
400
Excel Vers. ve Dili
excel 2003 türkçe
Altın Üyelik Bitiş Tarihi
15-05-2026
Çok çok teşekkür ederim Sayın halit3...
 
Katılım
28 Mart 2011
Mesajlar
46
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
19-03-2022
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.
 
Katılım
19 Mart 2010
Mesajlar
144
Excel Vers. ve Dili
Office 365 İngilizce
Altın Üyelik Bitiş Tarihi
20-01-2024
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

Üst