Boş Hücreleri Silme

Boş Hücreleri Silme

Boş Hücreleri Silme

Excel Listelerinde Boş Satırları B Sütununa Göre Düzenleyin​

Boş Hücreleri Silme dosyası, Excel listesindeki belirli boşlukları VBA ile kaldıran bir çalışma kitabıdır. Karar verilen alan B sütunudur. Bu sütunda boş değer bulunan kayıtların bulunduğu satırlar bütünüyle silinir; kalan satırlar yukarı taşınır. İşlem yalnız hücre içeriğini temizlemez ve yalnızca seçilmiş hücreleri sıkıştırmaz. B sütunundaki ölçüt, aynı satırdaki tarih, ödeme ve diğer bilgilerin birlikte değerlendirilmesini sağlar. Böylece satırın farklı alanları ayrı ayrı kaydırılarak kayıt ilişkisinin bozulması önlenir. Dosyanın temel işlevi küçük bir örnek üzerinden gösterilir; uygulamanın merkezinde Bos_Hucreleri_Silme adlı makro bulunur.

Dosyanın İçindeki Üç Sayfa​

Çalışma kitabında @, Anasayfa ve Sayfa1 adlarında üç görünür sayfa bulunmaktadır. Sayfa1 işlemin örnek verisini taşır. B2 hücresinde Tarih, C2 hücresinde Ödeme başlığı vardır. Bu başlıkların altında on örnek kayıt yer alır. Üstteki ilk satır boş bırakılmıştır. Tarihler B sütununda, bunlara karşılık gelen örnek değerler C sütunundadır. Makronun boşluk ölçütü ödeme tutarı değildir; C sütununda değer bulunması, B sütunu boş olan satırın korunmasını sağlamaz. Bu ayrım özellikle tarih alanı eksik ancak diğer alanları dolu listeler için sonucu belirler.
Anasayfa, dosyanın adını ve veri aralarındaki boşlukları kaldırma konusunu açıklayan tanıtım bölümüdür. Bu sayfada metinler, birleştirilmiş alanlar ve görseller yer alır. Asıl örnek kayıtlar burada değil, Sayfa1 üzerindedir. @ sayfasında farklı Excel ürünlerine ilişkin tanıtım metinleri ve görseller bulunmaktadır. Yıllık izin, bordro ve başka ürünlerin bu sayfada adının geçmesi, ilgili hesaplamaların bu çalışma kitabına eklendiği anlamına gelmez. Dosyanın sunduğu işlev boş satırları temizleyen VBA örneğidir; tanıtım sayfası ayrı ürünler hakkında bilgi verir.

Makronun Satırları Değerlendirme Mantığı​

Makro önce aktif çalışma sayfasında B sütununun son dolu hücresini bulur. Bunun için sütunun en altından yukarı yönlü son hücre araması kullanılır. Ardından bulunan satırdan birinci satıra kadar geriye doğru ilerlenir. Her adımda ilgili satırın B hücresi incelenir. Boş değer varsa o çalışma sayfası satırı silinir. İnceleme yukarıdan aşağı değil, aşağıdan yukarı yürütüldüğü için art arda gelen boş satırlar, satırların kaymasından dolayı atlanmaz. Denemede birbirini izleyen iki boş satırın ikisinin de silinmesi bu düzenin sonucudur.
Silme işlemi tüm satıra uygulanır. Örneğin B alanı boşken C alanında bir ödeme kaydı bulunuyorsa C alanındaki bilgi de o satırla birlikte kaldırılır. A, D veya daha ilerideki sütunlarda yer alan hücreler de aynı satır işleminin kapsamındadır. Dosya, birden fazla bağımsız tabloyu birbirinden ayıran seçili alan temizleyicisi olarak tasarlanmamıştır. Aynı çalışma sayfasında yan yana başka bilgiler bulunuyorsa bunlar da satır kaymalarından etkilenebilir. İşlemin kapsamı, seçili hücre adresiyle değil aktif sayfa ve B sütunu üzerinden belirlenir.

Hangi Değerler Boş Sayılır​

Gerçekten boş olan hücreler silme ölçütüne uyar. Sonucu boş metin olan bir formül de bu karşılaştırmada boş kabul edilir. Örneğin sonucu boş metin döndüren bir hücre, yanında başka alanlar dolu olsa bile bulunduğu satırın kaldırılmasına neden olur. Buna karşılık bir boşluk karakteri içeren metin boş değerle aynı değildir. Görünüşte benzer olabilecek bu iki hücrenin sonucu farklıdır. Makro metindeki boşluk karakterlerini kırpmaz, metin temizleme veya görünmez karakterleri ayıklama işlemi yapmaz.
Sıfır sayısı ve FALSE mantıksal değeri boş hücre olarak değerlendirilmez. Bu değerleri taşıyan kayıtlar korunur. Dolayısıyla sıfır ödeme ya da sıfır kod ile eksik kayıt aynı anlamda ele alınmaz. Ancak ölçüt yine B alanıdır; C alanındaki sıfır veya boşluk tek başına kararı değiştirmez. Güncellenmiş sürümde B hücresindeki Excel hata değerleri de korunur. Hata değeri bulunan satır boş sayılmaz; işlem diğer satırlara devam eder. Bu davranış, hatayı düzeltmek veya hata veren formülü değiştirmek anlamına gelmez.

Son Dolu Satır ve Üst Satır Düzeni​

Taramanın alt sınırı B sütununun son dolu hücresidir. Bu sınırın altındaki, B alanı boş fakat başka alanları dolu satırlar taramaya girmez. Örneğin son tarih kaydından sonra yalnız ödeme alanı doldurulmuş satırlar varsa bunlar otomatik olarak silinmez. Dosya tüm sayfanın kullanılan alanını esas almadığı için bu durum, beklenen kapsamın değerlendirilmesinde dikkate alınmalıdır. Listeye yeni kayıtlar eklenirken B sütununun hangi satıra kadar dolu olduğu işlemin eriştiği alanı belirler.
Tarama bittikten sonra en üste yeni bir boş satır eklenir. Örnek dosyanın başlıklarının ikinci satırda bulunması bu düzenle uyumludur. Başlangıçtaki birinci satır B alanı boş olduğu için önce silinir, işlem sonunda boş ilk satır tekrar oluşturulur. Örneğin boş satır içermeyen mevcut Sayfa1 üzerinde makronun iki kez çalıştırılması, başlığın sürekli aşağı kaymasına yol açmamıştır. Başlığın başlangıçta birinci satırda olduğu ayrı aktif sayfa denemesinde ise işlem sonunda başlık ikinci satıra gelmiştir. Bu, mevcut makronun üst satırı düzenleme davranışıdır.

Aktif Sayfa Üzerinde Kullanım​

Makro yalnız Sayfa1 adına bağlanmamıştır. Çalıştırıldığı sırada aktif olan çalışma sayfası üzerinde işlem yapar. Dosyadaki örneği uygulamak için önce Sayfa1 sekmesi açılır. Bu sayfadaki makro bağlı düğme üzerinden veya Excel makro listesinden Bos_Hucreleri_Silme yordamı seçilerek işlem başlatılabilir. Başka bir çalışma sayfası aktifken aynı yordam çalıştırılırsa o sayfanın B sütunu değerlendirilir. Bu özellik, farklı isimli listelerde aynı işlemi kullanabilmeyi sağlar; sayfa adını değiştirmek gerektirmez.
Kullanım öncesinde listede hangi sütunun belirleyici kayıt alanı olduğu kontrol edilir. Bu örneğin ölçütü sabit olarak B sütunudur; dosyada sütun seçtiren bir form veya parametre ekranı yoktur. Başka bir alanı ölçüt almak için VBA kodunun ilgili sütun adresi ve hücre karşılaştırması birlikte uyarlanmalıdır. Yalnız bir hücreyi seçmek bu ölçütü değiştirmez. İşlem satır sildiği için kayıtların ilk durumunu koruyan ayrı bir çalışma kopyasıyla başlamak, temizlenmiş sonuçla önceki listenin karşılaştırılmasına yardımcı olur.

Sürüm Güncellemesinin Kapsamı​

Bu sürümde, B sütununda hata değeri bulunduğunda eski yordamın verdiği tür uyumsuzluğu giderilmiştir. Önceki davranış gerçek Excel üzerinde hata değerli hücre ve onun altındaki boş satırla doğrulanmıştır: alttaki boş satır silindikten sonra işlem hata değerinde durabilmiştir. Yeni sürüm, hücreyi boş değerle karşılaştırmadan önce hata olup olmadığını kontrol eder. Kontrol iç içe koşullarla yapılır; hata içeren hücrede boşluk karşılaştırmasına girilmez. Böylece hata satırı olduğu gibi kalırken diğer boş kayıtların temizlenmesi tamamlanır.
Güncelleme makronun adını, aktif sayfa kapsamını, aşağıdan yukarı incelemeyi, tüm satır silmeyi ve ilk boş satır düzenini korur. Dosyanın üç sayfası, örnek değerleri, tanıtım görselleri ve makro düğmesi korunmuştur. Yeni işlev olarak tarih hesaplama, ödeme toplamı, grafik veya kayıt doğrulama eklenmemiştir. Amaç aynı boş satır temizliğini, hata değeri bulunan listelerde de işlemi kesmeden uygulamaktır. Hatalı formüllerin nedeninin ayrıca incelenmesi gerekir; hata satırının korunması formülün onarıldığını göstermez.

Teknik Yapı ve Doğrulama​

Dosya makro barındıran XLSM biçimindedir ve VBA çalıştırabilen masaüstü Excel kullanımına yöneliktir. Örnek sayfalardaki mevcut hücrelerde hesaplama formülleri, Excel tablosu, veri doğrulama listesi veya hesaplama grafiği bulunmamaktadır. İşlev hücre formülünden değil VBA satır işleminden gelir. Makronun gerektirdiği bir e-posta gönderimi ya da internetten veri indirme adımı yoktur. Çalışma kitabında korunmuş adlandırılmış alanlar ve eski dış bağlantı parçaları da bulunmaktadır; bunların dış kaynakları yenilenmemiş ve kullanılabilirliği doğrulanmamıştır. Boş satır temizliği bu dış alanlara başvurmaz.
İşlev denemeleri ayrı çalışma kopyalarında yapılmıştır. Art arda boşluklar, dolu listeler, sıfır ve mantıksal değerler, boşluk karakteri, boş metin döndüren formül, hata değerleri ve son B kaydının altındaki satırlar karşılaştırılmıştır. Başka isimli aktif sayfa üzerinde de satırların birlikte taşınması kontrol edilmiştir. Kaydetme ve yeniden açma sonrası davranış ayrıca değerlendirilir. Galerideki görüntüler, dosyanın gerçek görünür sayfalarını gösterir; tanıtım sayfası ile işlem örneğini birbirinden ayırır. Dosya, B sütununa göre satır düzenleme mantığını incelemek ve aynı yapıda listelere uygulamak isteyen kullanıcılar için somut bir VBA örneğidir.
  • bos-hucreleri-silme-tanitim.webp
    bos-hucreleri-silme-tanitim.webp
    208.7 KB · Görüntüleme: 8
  • bos-hucreleri-silme-anasayfa.webp
    bos-hucreleri-silme-anasayfa.webp
    90.3 KB · Görüntüleme: 7
  • bos-hucreleri-silme-veriler.webp
    bos-hucreleri-silme-veriler.webp
    43.6 KB · Görüntüleme: 8

ExcelDepo tarafından daha fazla dosya

Detaylar
Yazar
ExcelDepo
İndirme
7
Görüntüleme
2,249
İlk sürüm
Son güncelleme
SHA-256
5c94dfdf35a524dcf346533e07383b99a2a21f3423359fa943907dafd0b66471

Puanlar

5.00 Oylama 1 İnceleme

En son güncellemeler

  1. Hata değerlerinde kesintisiz boş satır temizliği

    B sütunundaki hata değerleri boş değer karşılaştırmasına alınmadan korunur. Tür uyumsuzluğu...

En son değerlendirmeler

Paylaşım için teşekkür ederim.
Geri
Üst