Hücre Biçimini bozmadan VBA ile içeriği silinebilir mi ?

CengizYurek

Altın Üye
Katılım
11 Ocak 2017
Mesajlar
46
Excel Vers. ve Dili
2019-TR
Altın Üyelik Bitiş Tarihi
01-01-2026
Merhabalar
VBA ile tablomdaki hücreleri temizliyorum ancak tablo tasarımımda siliniyor. Bunun önüne nasıl geçebilirim ?

A2:E32 arasındaki satırları biri koyu diğeri açık renk olacak şekilde renklendirdim ancak temizlenince gidiyor hepsi.
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,
Hücreleri temizlediğiniz kodu paylaşırsanız daha net yanıt verilebilir.
Olsa olsa yöntemine başvuralım. Clear komutu kullanmış olmalısınız. Bunun yerine ClearContents kullanarak dener misiniz?
 

CengizYurek

Altın Üye
Katılım
11 Ocak 2017
Mesajlar
46
Excel Vers. ve Dili
2019-TR
Altın Üyelik Bitiş Tarihi
01-01-2026
Merhaba,
Hücreleri temizlediğiniz kodu paylaşırsanız daha net yanıt verilebilir.
Olsa olsa yöntemine başvuralım. Clear komutu kullanmış olmalısınız. Bunun yerine ClearContents kullanarak dener misiniz?
Teşekkür ederim dediğiniz yapmıştım aynı problem devam etmişti.
Bende çözüm üretmek adına şöyle yaptım.
Makro Kaydet başlattım
Biçimlendirmek istediğim hücreleri seçip gerekli tasarımları düzenledim.
Makroyu sonlandırıp hazırlanan kodları kendi kodlarıma entegre ettim. Böylece sayfayı temizledikten sonra tasarımı yapıştırıyor ve gerekli verileri yazdırıyor. Boyut büyüdükçe sistem biraz yavaşlayabilir ama şuan için işim görüldü.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,191
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sizin mesajınızdan sonra şimdi bir deneme yaptım.

"ClearContents komutu acaba tablo olarak biçimlendirilmiş hücrelerde farklı bir tepki mi veriyor dedim."

Mantık olarak mümkün değil. Çünkü bu komut hücrelerin biçimiyle ilgilenmez. Sadece içerdiği veriyi temizler.

Doğal olarak aşağıdaki kod bloğundaki 3 satırdan birisini kullanarak işinizi görebiliyor olmanız gerekir.

C++:
Option Explicit

Sub ClearContents_My_Rng()
    Range("A2:E32").ClearContents
    Range("A2:E32").Value = Empty
    Range("A2:E32").Value = ""
End Sub
Aşağıdaki kod bloğu ise TABLO adını kullanarak içerik temizlemektedir. Yine kod bloğundaki 3 satırdan birisini tercih edebilirsiniz.

C++:
Option Explicit

Sub ClearContents_My_Rng()
    Range("Table1").ClearContents
    Range("Table1").Value = Empty
    Range("Table1").Value = ""
End Sub
 
Üst