Boş Hücreleri Tespit Et - Microsoft Excel


Excelde boş hücrelerle ilgili işlemler yapmak istiyorsanız makroda bulunan SpecialCells metodundaki xlTypeBlanks özelliğinden faydalanarak kodlama yapabilirsiniz. Kullanımını basit bir örnekle vermeye çalışalım.

Kod


Sub TablodaBosHucreleriTespitEt()
      Range("A1:E10").SpecialCells(xlCellTypeBlanks) = "BOŞ"
End Sub

Çalışma Mantığını Anlamak

Bu kod bir çalışıp bir çalışmayabilir. Hatta Runtime error: '1004': Hiçbir hücre bulunamadı. bu hatayla da bazen karşılaşıp bazen karşılaşmayabilirsiniz.

Burada Range sınıfının SpecialCells() metodunun çalışma şeklini anlamak önem kazanıyor. Ben de açıkçası tam çalışma mantığını bilmiyorum ama örnekler sizin de bir şeyler anlamanıza yardımcı olacaktır.

Senaryolar

Eğer alan olarak doğrudan tablo tabanlı bir veri grubu verirseniz kod çalışır ve boş hücreleri tespit eder.


Diyelim ki yeni bir çalışma sayfası açtınız ve sayfa boş olmasına rağmen direkt olarak VBA penceresini açtınız, kodu eklediniz ve çalıştırmayı denediniz. O zaman "Hiçbir hücre bulunamadı." hatası almanız muhtemel. Çünkü eğer verilen alanda bir tablo altyapısı yoksa, excel çalışma sayfasında üzerinde işlem yapılmış en sağdaki ve en alttaki hücreyi referans alıyor ve buna göre bir şeyler yapmaya çalışıyor. Gel gelelim üzerinde işlem yapılmış bir hücre de yok. O yüzden de hata veriyor. Aslında bu hata mantıksız bir hata değil, işin bir de şu yönü var: Sınırın olmadığı durumda bu kodun çalışması demek, en büyük tablo olan sayfanın komple işlem görmesi demek. Bu da gereksiz vakit kaybı, gereksiz kaynak kaybı vs.


Diyelim ki boş bir çalışma sayfası açtınız, en sağ ve en alt hücre olan E10 hücresi üzerinde işlem yaptınız, sonra da bu kodu A1:E10 veya daha dar bir aralıkta çalıştırdınız. O zaman kod çalışır. Gel gelelim daha geniş bir aralık verirseniz yine A1:E10 aralığı için işlem yapar. Alanı genişletmek için en sağdaki ve en alttaki hücreyi güncellemeniz, yani başka bir hücrede işlem yapmanız gerekiyor. Örneğin Z20 hücresi içine yazı yazdık ve sildik. Artık bu kod (kodu da uygun şekilde güncellediğinizde) A1:Z20 aralığında çalışacak.

Eğer çalışma kitabını kapatıp yeniden açarsanız ve tablo tipi bir veriniz yoksa, yine hata verebilir, bu yüzden de en sağdaki ve en alttaki hücreyi belirleme işlemi yapmak durumunda kalabilirsiniz.

Etiketler
microsoft excel microsoft excel vba