Sayfadaki şekilleri topluca silme

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
ActiveSheet.Shapes.Range(Array("Line 130", "Group 131")).Select
Selection.Delete

Merhaba

ben çalışma sayfasında bulunan tüm şekilleri tek tıklamayla silmek istiyorum. ama yukarıdaki kodda gördüğünüz gibi bunların kimi grup halde, kimi daire, kimi dikdörtgen vb. hepsini birden nasıl silebilirim? İlginiz için şimdiden teşekkür ederim.
 

Kemal Demir

Özel Üye
Katılım
29 Temmuz 2004
Mesajlar
2,108
ockucukay,

Emin olmamakla bereber şunu soylemek istiyorum.Nesneler birinden farklı.Nedeni bu olabilir.

Yanlıs bir şeyse bilgilendirme için kusura bakmayınız.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,730
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kod aktif sayfadaki tüm nesneleri siler.

Kod:
Sub SAYFADAKİ_TÜM_NESNELERİ_SİL()
    ActiveSheet.DrawingObjects.Delete
End Sub
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Application.ScreenUpdating = False
Sheets("süz").Visible = True
Sheets("süz").Select
Rows("1:300").Select
Selection.Delete Shift:=xlUp

Dim sp As Shape
Dim arrShape() As Variant
Dim i As Integer

With ActiveSheet

For Each sp In .Shapes
If sp.AutoShapeType = msoShapeRectangle Or _
sp.Type = msoLine Then
'If sp.Type = msoAutoShape Or sp.Type = msoLine Then
i = i + 1
ReDim Preserve arrShape(1 To i)
arrShape(i) = sp.Name
End If
Next

.Shapes.Range(arrShape).Select
Selection.Delete

End With

sayın uzmanamele, sayın korhan ayhan

verdiğiniz kodları denedim, ama nedense silmiyor. kullandığım şekiller çizim toolbarındada görebileceğiniz ok, çizgi, dikdörtgen,oval ve bazende bu şekillerden gruplayarak yaptığım şekiller.yukarıda benim kodumun içine koyduğum ve sayın ferhat pazarçevirdi'nin sayın uzmanamele'ye verdiği kodları göreceksiniz.malesef çalışmadı, sorun ne olabilir acaba?
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,737
Excel Vers. ve Dili
Excel 2019 Türkçe
Kod:
Activesheet.Shapes.SelectAll 
Selection.delete
şeklinde denediniz mi?
 
Katılım
10 Nisan 2008
Mesajlar
578
Excel Vers. ve Dili
2000,2003,2007
Merhaba,

Bir örnekte ben vereyim ustalarım..İnşallah soruyu yanlış anlamamışımdır.

Syg,
E.ALAN
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Merhaba,

Bir örnekte ben vereyim ustalarım..İnşallah soruyu yanlış anlamamışımdır.

Syg,
E.ALAN
Do
If ActiveWorkbook.ActiveSheet.Shapes.Count > 0 Then
ActiveSheet.Shapes(1).Delete
Else
Exit Do
End If
Loop

tamamdır sayın ersoy alan'ın verdiği kodlar çok güzel çalıştı. Hatta biraz fazla güzel çalışıp sayfaya koydğum düğmeleride sildi :). bunu belli bir aralık için yapabilirmiyiz örneğin R1:R300 aralığı için. ilginize teşekkür ederim.
 
Katılım
10 Nisan 2008
Mesajlar
578
Excel Vers. ve Dili
2000,2003,2007
Vallahi hocam okadarını açıkçası bilemiyorum.Bende hazır dosya vardı onu gönderdim.
Syg,
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
yinede teşekkür ederim yardımlarınız için sayın ersoy alan. sorumu tekrarlayayım o zaman:

Do
If ActiveWorkbook.ActiveSheet.Shapes.Count > 0 Then
ActiveSheet.Shapes(1).Delete
Else
Exit Do
End If
Loop

bunu belli bir aralık için yapabilirmiyiz örneğin R1:R300 aralığı için. ilginize teşekkür ederim.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
örnek dosya ekleyebilirmisiniz.
gruplandırılmış şekilleri silmiyorsa, önce grubu çözüp sonra sildirmeyi deneyin.
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
merhaba
örnek dosya ekleyebilirmisiniz.
gruplandırılmış şekilleri silmiyorsa, önce grubu çözüp sonra sildirmeyi deneyin.
Do
If ActiveWorkbook.ActiveSheet.Shapes.Count > 0 Then
ActiveSheet.Shapes(1).Delete
Else
Exit Do
End If
Loop


eksik anlattım sanırım, sayfadaki tüm şekilleri siliyor yukarıdaki kod, ben sadece sayfanın belli bir aralığındaki tüm şekilleri silsin istiyorum. yani nasıl tanımlayabilirsek aralığı seçsin, seçilen aralıktaki tüm şekilleri silsin. anlatabilmişimdir umarım.ilginize tekrar teşekkür ederim.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Örnek olması açısından, aşağıdaki kod, A1:C10 aralığındaki tüm şekilleri siler. İnceleyiniz.

Kod:
Sub Belirli_Bir_Alandaki_Sekilleri_Sil()
    
    Dim sekiL As Shape
    
    For Each sekiL In ActiveSheet.Shapes
        If Not Intersect(sekiL.TopLeftCell, Range("A1:C10")) Is Nothing Then
            sekiL.Delete
        End If
    Next
 
End Sub
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
cevabınızı yeni gördüm, bende makroyla buton ekleme gibi yollar arıyordum.üstadım muhteşemsiniz, ellerinize sağlık.
 
Üst