VBA, formüller ve Power Query ile Excel'de boş satırlar nasıl silinir

  • Bunu Paylaş
Michael Brown

Bu eğitim size Excel'de tek bir bilgi bile kaybetmeden birden fazla boş satırı güvenli bir şekilde silmek için birkaç basit püf noktası öğretecek .

Excel'deki boş satırlar, özellikle farklı kaynaklardan gelen verileri birleştirirken veya başka bir yerden bilgi aktarırken hepimizin arada bir karşılaştığı bir sorundur. Boş satırlar, çalışma sayfalarınızda farklı düzeylerde çok fazla hasara neden olabilir ve bunları manuel olarak silmek zaman alıcı ve hataya açık bir işlem olabilir. Bu makalede, Excel'deki boşlukları kaldırmak için birkaç basit ve güvenilir yöntem öğreneceksinizçalışma sayfalarınız.

    Excel'de boş satırlar nasıl KALDIRILMAZ

    Excel'de boş satırları silmenin birkaç farklı yolu vardır, ancak şaşırtıcı bir şekilde birçok çevrimiçi kaynak en tehlikeli olanı, yani Bul & Seç > Özel'e Git > Boşluklar .

    Bu tekniğin nesi yanlış? tüm boşluklar ve sonuç olarak tek bir boş hücre içeren tüm satırları silmiş olursunuz.

    Aşağıdaki resimde soldaki orijinal tablo ve sağdaki sonuç tablosu gösterilmektedir. Sonuç tablosunda, sadece D sütunundaki tarihin eksik olduğu 10. satır da dahil olmak üzere tüm eksik satırlar kaybolmuştur:

    Sonuç: Verilerinizi karıştırmak istemiyorsanız, asla boş hücreleri seçerek boş satırları silmeyin. Bunun yerine, aşağıda tartışılan daha dikkatli yaklaşımlardan birini kullanın.

    Excel'de VBA ile boş satırlar nasıl kaldırılır

    Excel VBA, birden fazla boş satır da dahil olmak üzere pek çok şeyi düzeltebilir. Bu yaklaşımla ilgili en iyi şey, herhangi bir programlama becerisi gerektirmemesidir. Basitçe, aşağıdaki kodlardan birini alın ve Excel'inizde çalıştırın (talimatlar burada).

    Makro 1. Seçilen bir aralıktaki boş satırları silme

    Bu VBA kodu, kullanıcıya herhangi bir mesaj veya iletişim kutusu göstermeden, seçilen bir aralıktaki tüm boş satırları sessizce siler.

    Önceki teknikten farklı olarak, makro aşağıdaki durumlarda bir satırı siler tüm satır boş Her satırdaki boş olmayan hücrelerin sayısını almak için CountA çalışma sayfası işlevine dayanır ve ardından sıfır sayısına sahip satırları siler.

    Public Sub DeleteBlankRows() Dim SourceRange As Range Dim EntireRow As Range Set SourceRange = Application.Selection If Not (SourceRange Is Nothing ) Then Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Step -1 Set EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountA(EntireRow) = 0 Then EntireRow.Delete End If Next Application.ScreenUpdating= True End If End Sub

    Kullanıcıya aşağıdakileri yapma fırsatı vermek için makroyu çalıştırdıktan sonra hedef aralığı seçme , bu kodu kullanın:

    Public Sub RemoveBlankLines() Dim SourceRange As Range Dim EntireRow As Range On Error Resume Next Set SourceRange = Application.InputBox( _ "Bir aralık seçin:" , "Boş Satırları Sil" , _ Application.Selection.Address, Type :=8) If Not (SourceRange Is Nothing ) Then Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Step -1 Set EntireRow = SourceRange.Cells(I, 1).EntireRow IfApplication.WorksheetFunction.CountA(EntireRow) = 0 Then EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    Makro çalıştırıldıktan sonra aşağıdaki giriş kutusunu gösterir, hedef aralığı seçersiniz ve Tamam'a tıklarsınız:

    Bir dakika içinde, seçilen aralıktaki tüm boş satırlar elenecek ve kalanlar yukarı kayacaktır:

    Makro 2. Excel'deki tüm boş satırları silin

    Kaldırmak için tüm boş satırlar üzerinde aktif sayfa kullanılan aralığın son satırını (yani veri içeren son hücreyi içeren satırı) belirleyin ve ardından CountA öğesinin sıfır döndürdüğü satırları silerek yukarı doğru gidin:

    Sub DeleteAllEmptyRows() Dim LastRowIndex As Integer Dim RowIndex As Integer Dim UsedRng As Range Set UsedRng = ActiveSheet.UsedRange LastRowIndex = UsedRng.Row - 1 + UsedRng.Rows.Count Application.ScreenUpdating = False For RowIndex = LastRowIndex To 1 Step -1 If Application.CountA(Rows(RowIndex)) = 0 Then Rows(RowIndex).Delete End If Next RowIndex Application.ScreenUpdating = True End Sub

    Makro 3. Hücre boşsa satırı sil

    Bu makro ile, belirtilen sütundaki bir hücre boşsa tüm satırı silebilirsiniz.

    Aşağıdaki kod A sütununda boşluk olup olmadığını kontrol eder. Satırları başka bir sütuna göre silmek için "A "yı uygun bir harfle değiştirin.

    Sub DeleteRowIfCellBlank() On Error Resume Next Columns("A" ).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

    Aslına bakılırsa, makro Özel'e Git > Boşluklar özelliğini kullanabilirsiniz ve bu adımları manuel olarak gerçekleştirerek aynı sonucu elde edebilirsiniz.

    Not: Makro, aşağıdaki satırlardaki boş satırları siler tüm sayfa Önlem olarak, bu makroyu çalıştırmadan önce çalışma sayfasını yedeklemek akıllıca olabilir.

    Excel'de VBA ile boş satırlar nasıl kaldırılır

    Excel'de makro kullanarak boş satırları silmek için, VBA kodunu kendi çalışma kitabınıza ekleyebilir veya örnek çalışma kitabımızdan bir makro çalıştırabilirsiniz.

    Çalışma kitabınıza makro ekleme

    Çalışma kitabınıza bir makro eklemek için aşağıdaki adımları uygulayın:

    1. Boş satırları silmek istediğiniz çalışma sayfasını açın.
    2. Visual Basic Düzenleyicisini açmak için Alt + F11 tuşlarına basın.
    3. Sol bölmede, sağ tıklayın BuÇalışmaKitabı 'a tıklayın ve ardından Ekleme > Modül .
    4. Kodu Kod penceresine yapıştırın.
    5. Makroyu çalıştırmak için F5 tuşuna basın.

    Ayrıntılı adım adım talimatlar için lütfen Excel'de VBA ekleme ve kullanma bölümüne bakın.

    Örnek çalışma kitabımızdan bir makro çalıştırın

    Boş Satırları Silme Makroları içeren örnek çalışma kitabımızı indirin ve buradan aşağıdaki makrolardan birini çalıştırın:

    DeleteBlankRows - Geçerli olarak seçili aralıktaki boş satırları kaldırır.

    RemoveBlankLines - boş satırları siler ve makroyu çalıştırdıktan sonra seçtiğiniz bir aralıkta yukarı kaydırır.

    DeleteAllEmptyRows - etkin sayfadaki tüm boş satırları siler.

    DeleteRowIfCellBlank - Belirli bir sütundaki bir hücre boşsa satırı siler.

    Makroyu Excel'inizde çalıştırmak için aşağıdakileri yapın:

    1. İndirilen çalışma kitabını açın ve istenirse makroları etkinleştirin.
    2. Kendi çalışma kitabınızı açın ve ilgilendiğiniz çalışma sayfasına gidin.
    3. Çalışma sayfanızda Alt + F8 tuşlarına basın, makroyu seçin ve Koşmak .

    Excel'de boş satırları silmek için formül

    Neyi sildiğinizi görmek isterseniz, boş satırları belirlemek için aşağıdaki formülü kullanın:

    =IF(COUNTA(A2:D2)=0, "Boş", "Boş değil")

    Burada A2 ilk ve D2 ilk veri satırının son kullanılan hücresidir.

    Bu formülü E2'ye veya satır 2'deki herhangi bir boş sütuna girin ve formülü aşağı kopyalamak için doldurma tutamacını sürükleyin.

    Sonuç olarak, boş satırlarda "Boş" ve veri içeren en az bir hücre içeren satırlarda "Boş değil" olacaktır:

    Formülün mantığı açıktır: COUNTA işleviyle boş olmayan hücreleri sayarsınız ve sıfır sayım için "Boş", aksi takdirde "Boş Değil" döndürmek için IF deyimini kullanırsınız.

    Aslında, IF olmadan da güzelce yapabilirsiniz:

    =COUNTA(A2:D2)=0

    Bu durumda, formül boş satırlar için DOĞRU, boş olmayan satırlar için YANLIŞ döndürür.

    Formül yerindeyken, boş satırları silmek için aşağıdaki adımları uygulayın:

    1. Başlık satırındaki herhangi bir hücreyi seçin ve Sırala ve Filtrele > Filtre üzerinde Ev sekmesinde Formatlar Bu, tüm başlık hücrelerine filtreleme açılır oklarını ekleyecektir.
    2. Formül sütunu başlığındaki oka tıklayın, (Tümünü Seç) seçeneğinin işaretini kaldırın ve Boş ve tıklayın TAMAM. :
    3. Bunun için, filtrelenen ilk satırın ilk hücresine tıklayın ve seçimi filtrelenen son satırın son hücresine kadar genişletmek için Ctrl + Shift + End tuşlarına basın.
    4. Seçime sağ tıklayın ve Satır silme öğesini seçin ve ardından tüm satırları gerçekten silmek istediğinizi onaylayın:
    5. Ctrl + Shift + L tuşlarına basarak filtreyi kaldırın. Ev tab> Sırala ve Filtrele > Filtre .
    6. Artık ihtiyacınız olmadığı için formülün bulunduğu sütunu silin.

    İşte bu! Sonuç olarak, boş satırların olmadığı, ancak tüm bilgilerin korunduğu temiz bir tablomuz var:

    İpucu: Boş satırları silmek yerine şunları yapabilirsiniz boş olmayan satırları kopyala Bunu yapmak için, "Boş değil" satırlarını filtreleyin, seçin ve kopyalamak için Ctrl + C tuşlarına basın. Ardından başka bir sayfaya geçin, hedef aralığın sol üst hücresini seçin ve yapıştırmak için Ctrl + V tuşlarına basın.

    Power Query ile Excel'de boş satırlar nasıl kaldırılır

    Excel 2016 ve Excel 2019'da, Power Query özelliğini kullanarak boş satırları silmenin bir yolu daha vardır. Excel 2010 ve Excel 2013'te, bir eklenti olarak indirilebilir.

    Önemli not! Bu yöntem şu uyarı ile çalışır: Power Query kaynak verileri bir Excel tablosuna dönüştürür ve dolgu rengi, kenarlıklar ve bazı sayı biçimleri gibi biçimlendirmeyi değiştirir. Orijinal verilerinizin biçimlendirmesi sizin için önemliyse, Excel'de boş satırları kaldırmak için başka bir yol seçmeniz daha iyi olur.

    1. Boş satırları silmek istediğiniz aralığı seçin.
    2. Şuraya git Veri tab> Alın & Dönüştürün grubunu seçin ve Tablodan/Aralıktan Bu, tablonuzu Power Query Editor'a yükleyecektir.
    3. Üzerinde Ev sekmesinde, Power Query Editor'de Satırları Kaldır > Boş Satırları Kaldır .
    4. Tıklayınız Kapat & Yükle Bu, ortaya çıkan tabloyu yeni bir çalışma sayfasına yükleyecek ve Sorgu Düzenleyicisini kapatacaktır.

    Bu manipülasyonların sonucunda, boş satırlar olmadan aşağıdaki tabloyu elde ettim, ancak birkaç kötü değişiklikle - para birimi biçimi kayboldu ve tarihler özel biçim yerine varsayılan biçimde görüntülendi:

    Belirli bir sütundaki hücre boşsa satırlar nasıl silinir

    Bu eğitimin başında, boşlukları seçerek boş satırları kaldırmamanız konusunda sizi uyarmıştık. Ancak, satırları aşağıdakilere göre silmek istiyorsanız bu yöntem kullanışlı olacaktır belirli bir sütundaki boşluklar .

    Örnek olarak, A sütunundaki bir hücrenin boş olduğu tüm satırları kaldıralım:

    1. Anahtar sütunu, bizim durumumuzda A sütununu seçin.
    2. Üzerinde Ev sekmesine tıklayın, ardından Bul & Seç > Özel'e Git . veya F5 tuşuna basın ve Özel... Düğme.
    3. İçinde Özel'e Git iletişim kutusunda Boşluklar ve tıklayın TAMAM. Bu, A sütununda kullanılan aralıktaki boş hücreleri seçecektir.
    4. Seçili herhangi bir hücreye sağ tıklayın ve Sil. bağlam menüsünden.
    5. İçinde Silme iletişim kutusunu seçin, ardından Tüm sıra ve Tamam'a tıklayın.

    Bitti! A sütununda değeri olmayan satırlar artık yok:

    Aynı sonuç, anahtar sütunundaki boşlukları filtreleyerek de elde edilebilir.

    Verilerin altındaki ekstra satırlar nasıl kaldırılır

    Bazen tamamen boş görünen satırlar aslında bazı biçimler veya yazdırılamayan karakterler içerebilir. Veri içeren son hücrenin gerçekten çalışma sayfanızdaki son kullanılan hücre olup olmadığını kontrol etmek için Ctrl + End tuşlarına basın. Bu sizi verilerinizin altında görsel olarak boş bir satıra götürdüyse, Excel açısından bu satır boş değildir. Bu tür satırları kaldırmak için aşağıdakileri yapın:

    1. Seçmek için verilerinizin altındaki ilk boş satırın başlığına tıklayın.
    2. Ctrl + Shift + End tuşlarına basın. Bu, biçimler, boşluklar ve yazdırılmayan karakterler dahil olmak üzere herhangi bir şey içeren tüm satırları seçecektir.
    3. Seçime sağ tıklayın ve Sil. > Tüm sıra.

    Nispeten küçük bir veri kümeniz varsa, örneğin kaydırmayı kolaylaştırmak için verilerinizin altındaki tüm boş satırlardan kurtulmak isteyebilirsiniz. Excel'de kullanılmayan satırları silmenin bir yolu olmamasına rağmen, aşağıdakileri yapmanızı engelleyecek hiçbir şey yoktur saklanmak İşte böyle:

    1. Veri içeren son satırın altındaki satırı, başlığına tıklayarak seçin.
    2. Seçimi sayfadaki son satıra kadar genişletmek için Ctrl + Shift + Aşağı ok tuşlarına basın.
    3. Seçili satırları gizlemek için Ctrl + 9 tuşlarına basın. Veya seçime sağ tıklayın ve ardından Gizle .

    için satırları göster 'ye basın, tüm sayfayı seçmek için Ctrl + A tuşlarına basın ve ardından tüm çizgileri tekrar görünür hale getirmek için Ctrl + Shift + 9 tuşlarına basın.

    Benzer bir şekilde, verilerinizin sağındaki kullanılmayan boş sütunları gizleyebilirsiniz. Ayrıntılı adımlar için lütfen Excel'de kullanılmayan satırları gizle, böylece yalnızca çalışma alanı görünür.

    Excel'de boş satırları kaldırmanın en hızlı yolu

    Önceki örnekleri okurken, bir somunu kırmak için balyoz kullanıyormuşuz gibi hissetmedik mi? Burada, Ablebits'te, işleri olması gerekenden daha karmaşık hale getirmemeyi tercih ediyoruz. Bu yüzden, bir adım daha ileri gittik ve Excel'de boş satırları silmek için iki tıklamalı bir yol oluşturduk.

    Şeridinize eklenen Ultimate Suite ile şunları yapabilirsiniz tüm boş satırları sil bir çalışma sayfasında:

    1. Üzerinde Ablebits Araçları sekmesinde Dönüşüm grubunu seçin, tıklayın Boşlukları Sil > Boş Satırlar :
    2. Eklenti size tüm boş satırların etkin çalışma sayfasından kaldırılacağını bildirecek ve onaylamanızı isteyecektir. Tamam'a tıklayın ve bir dakika içinde tüm boş satırlar kaldırılacaktır.

    Aşağıdaki ekran görüntüsünde gösterildiği gibi, yalnızca kesinlikle boş satırlar veri içeren tek bir hücreye sahip olmayan:

    Excel için Ultimate Suite'imizde bulunan daha harika özellikleri öğrenmek için deneme sürümünü indirebilirsiniz.

    Okuduğunuz için teşekkür ediyor ve gelecek hafta blogumuzda görüşmeyi umuyorum!

    Michael Brown, yazılım araçlarını kullanarak karmaşık süreçleri basitleştirme tutkusuna sahip, kendini adamış bir teknoloji meraklısıdır. Teknoloji endüstrisinde on yılı aşkın deneyimiyle Microsoft Excel ve Outlook'un yanı sıra Google E-Tablolar ve Dokümanlar'daki becerilerini geliştirdi. Michael'ın blogu, bilgisini ve uzmanlığını başkalarıyla paylaşmaya, üretkenliği ve verimliliği artırmaya yönelik takip etmesi kolay ipuçları ve eğitimler sağlamaya adamıştır. İster deneyimli bir profesyonel, ister yeni başlayan olun, Michael'ın blogu, bu temel yazılım araçlarından en iyi şekilde yararlanmak için değerli bilgiler ve pratik tavsiyeler sunar.