Varsa sil nasıl denir?

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşlar,
Acaba Deneme_Kutusu adlı TextBox varsa sil nasıl denir?
Saygılarımla
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşlar,
Kod:
Sub Kutu_Sil()
    If Range(Array("Deneme_Kutusu")) Then
        ActiveSheet.Shapes.Range(Array("Deneme_Kutusu")).Select
        Selection.Delete
    End If
End Sub
If Range(Array("Deneme_Kutusu")) Then
satırda 1004 kodlu hata geliyor. Bu hata nasıl giderilir?
Saygılarımla
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Nesneyi eklerken "Set" ile atama yapıp, nesnenin ismini atarsanız, sonradan bulmak kolay olur....

C#:
Sub TextBox_Ekle()
    Set myBox = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, Range("B5").Top, Range("B5").Left, 100, 100)
    myBox.Name = "Deneme_Kutusu"
End Sub
'
Sub TextBox_Sil()
    For i = 1 To ActiveSheet.Shapes.Count
        If ActiveSheet.Shapes(i).Name = "Deneme_Kutusu" Then ActiveSheet.Shapes(i).Delete
    Next
End Sub
.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,794
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Haluk Hocam,
Çok teşekkür ederim.
Saygılarımla
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Alternatif silme aşağıdaki gibi de yapılabilir.

Kod:
Sub TextBox_Sil()
    ActiveSheet.Shapes("Deneme_Kutusu").Delete
End Sub
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
.edit
 
Son düzenleme:

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Pardon. Ben alttaki kodu yanlış görmüşüm.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Hata kontrolüde işe yarayabilir.

C++:
Option Explicit

Sub Varsa_Sil()
    Dim Nesne As Shape
    
    On Error Resume Next
    Set Nesne = Nothing
    Set Nesne = Sheets("Sheet1").Shapes("Deneme_Kutusu")
    On Error GoTo 0
    
    If Not Nesne Is Nothing Then
        Nesne.Delete
    Else
        MsgBox "Deneme_Kutusu isimli nesne bulunamadı!", vbCritical
    End If
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Hata kontrollü alternatif

Kod:
Sub TextBox_Sil()
    On Error GoTo nesneyok
    ActiveSheet.Shapes("Deneme_Kutusu").Delete
    Exit Sub
nesneyok:
    MsgBox "'Deneme_Kutusu' adlı nesne bulunamıyor."
End Sub
 
Üst