Excel-də VBA, düsturlar və Power Query ilə boş sətirləri necə silmək olar

  • Bunu Paylaş
Michael Brown

Bu dərslik sizə bir bit məlumat itirmədən Excel-də çoxlu boş sətirləri təhlükəsiz silmək üçün bir neçə sadə fənd öyrədəcək .

Excel-də boş sətirlər hamımızın qarşılaşdığı problemdir. arabir, xüsusən də müxtəlif mənbələrdən məlumatları birləşdirərkən və ya başqa yerdən məlumat idxal edərkən. Boş sətirlər müxtəlif səviyyələrdə iş vərəqləriniz üçün çoxlu təxribata səbəb ola bilər və onları əl ilə silmək çox vaxt aparan və xətaya meylli bir proses ola bilər. Bu yazıda siz iş vərəqlərinizdəki boşluqları silməyin bir neçə sadə və etibarlı üsulunu öyrənəcəksiniz.

    Excel-də boş sətirləri necə SİLMƏMƏK

    Bir neçə üsul var. Excel-də boş sətirləri silməyin müxtəlif yolları, lakin təəccüblü bir çox onlayn resurs ən təhlükəlisi ilə bağlıdır, yəni Tap & Seçin > Xüsusi səhifəyə keçin > Boşluqlar .

    Bu texnikada səhv nədir? O, diapazonda bütün boşluqları seçir və nəticədə siz bir boş xana qədər olan bütün sətirləri siləcəksiniz.

    Aşağıdakı şəkildə soldakı orijinal cədvəl və sağdakı nəticə cədvəli. Və nəticədə ortaya çıxan cədvəldə bütün natamam sətirlər getdi, hətta D sütununda yalnız tarixin olmadığı 10-cu sətir də yox oldu:

    Əsas nəticə: məlumatlarınızı qarışdırmaq istəmirsinizsə, heç vaxt boş olanları silməyin. boş xanaları seçməklə sətirlər. Bunun əvəzinə müzakirə olunan daha çox nəzərdən keçirilən yanaşmalardan birini istifadə edinhər şeyi lazım olduğundan daha mürəkkəb hala gətirin. Beləliklə, biz bir addım daha irəli getdik və Excel-də boş cərgələri silmək üçün iki kliklə marşrut yaratdıq.

    Lentinizə Ultimate Suite əlavə edilərək, burada bütün boş cərgələri silə bilərsiniz iş vərəqində:

    1. Ablebits Tools nişanında, Transform qrupunda Blankları Sil > üzərinə klikləyin Boş Sətirlər :
    2. Əlavə bütün boş sətirlərin aktiv iş vərəqindən silinəcəyini bildirəcək və təsdiq etməyi xahiş edəcək. OK düyməsini basın və bir anda bütün boş sətirlər silinəcək.

    Aşağıdakı ekran görüntüsündə göstərildiyi kimi, biz yalnız məlumatı olan bir xanası olmayan tamamilə boş sətirləri sildik:

    Tapmaq üçün Excel üçün Ultimate Suite-ə daxil olan daha çox gözəl xüsusiyyətləri əldə etmək üçün sınaq versiyasını yükləyə bilərsiniz.

    Oxuduğunuz üçün sizə təşəkkür edirəm və gələn həftə sizi bloqumuzda görməyə ümid edirəm!

    aşağıda.

    VBA ilə Excel-də boş sətirləri necə silmək olar

    Excel VBA bir çox şeyi, o cümlədən çoxlu boş sətirləri düzəldə bilər. Bu yanaşmanın ən yaxşı tərəfi heç bir proqramlaşdırma bacarığı tələb etməməsidir. Sadəcə olaraq, aşağıdakı kodlardan birini götürün və onu Excel-də işə salın (təlimatlar buradadır).

    Makro 1. Seçilmiş diapazonda boş sətirləri silin

    Bu VBA kodu bütün boşları səssizcə silir. istifadəçiyə heç bir mesaj və ya dialoq qutusu göstərmədən seçilmiş diapazonda satırlar.

    Əvvəlki texnikadan fərqli olaraq, bütün cərgə boşdursa makro xətti silir. O, hər bir sətirdə boş olmayan xanaların sayını əldə etmək üçün CountA iş səhifəsi funksiyasına əsaslanır və sonra sıfır sayı olan sətirləri silir.

    Public Sub DeleteBlankRows() Dim SourceRange As Range As Dim EntireRow As Range Set SourceRange = Application. Seçim Yoxdursa (SourceRange Heç Birşeydir) O zaman Application.ScreenUpdating = False For I = SourceRange.Rows.Count to 1 Addım -1 Set EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountA) =EntireRow 0 Sonra EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    İstifadəçiyə makronu işlətdikdən sonra hədəf diapazonunu seçmək imkanı vermək , bu kodu istifadə edin:

    Ümumi Sub RemoveBlankLines() Dim SourceRange diapazon kimi Dim EntireRow diapazon kimi Xəta üzrə davam etdirin Sonrakı Set SourceRange = Application.InputBox( _)"Aralıq seçin:" , "Boş sətirləri silin" , _ Application.Selection.Address, Type :=8) Yoxdursa (SourceRange Heç Bir Deyildir) O zaman Application.ScreenUpdating = False For I = SourceRange.Rows. 1 Addım Say - 1 Set EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountA(EntireRow) = 0 After EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    İşlədikdən sonra makro göstərilir aşağıdakı giriş qutusunda siz hədəf diapazonunu seçirsiniz və OK düyməsini sıxırsınız:

    Bir azdan seçilmiş diapazondakı bütün boş sətirlər silinəcək və qalanları yuxarıya doğru dəyişəcək:

    Makro 2. Excel-də bütün boş sətirləri silin

    aktiv vərəqdə bütün boş sətirləri silmək üçün istifadə olunan diapazonun sonuncu cərgəsini (yəni, məlumatı olan son xana) və sonra CountA-nın sıfır qaytardığı sətirləri silərək yuxarıya doğru gedin:

    Sub DeleteAllEmptyRows() LastRowIndex Integer As Integer Dim Dim UsedRng As Integer Dim UsedRng As Range Set UsedRng = Activ eSheet.UsedRange LastRowIndex = UsedRng.Row - 1 + UsedRng.Rows.Count Application.ScreenUpdating = RowIndex üçün False = LastRowIndex 1 Addım -1 Əgər Application.CountA(Satırlar(RowIndex)) = 0 Sonra Satırlar(RowIndex). Əgər Next RowIndex Application.ScreenUpdating = True End Sub

    Makro 3. Əgər xana boşdursa cərgəni silin

    Bu makro ilə, əgər göstərilən xanadakı xana varsa, bütün cərgəni silə bilərsiniz.sütun boşdur.

    Aşağıdakı kod boşluqlar üçün A sütununu yoxlayır. Başqa sütuna əsaslanan sətirləri silmək üçün "A" hərfini uyğun hərflə əvəz edin.

    Sub DeleteRowIfCellBlank() Xəta Haqqında Növbəti Sütunları davam etdirin ( "A" ).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

    As faktiki olaraq, makro Xüsusi Get > Boşluqlar funksiyasından istifadə edir və siz bu addımları əl ilə yerinə yetirməklə eyni nəticəyə nail ola bilərsiniz.

    Qeyd. Makro bütün vərəqdə boş sətirləri silir, ona görə də ondan istifadə edərkən çox diqqətli olun. Ehtiyat tədbiri olaraq, bu makronu işə salmazdan əvvəl iş vərəqinin ehtiyat nüsxəsini çıxarmaq müdrik ola bilər.

    VBA ilə Excel-də boş sətirləri necə silmək olar

    Makrodan istifadə edərək Excel-də boş sətirləri silmək üçün siz ya VBA kodunu öz iş kitabınıza daxil edə və ya nümunə iş dəftərimizdən makro işlədə bilərsiniz.

    İş kitabına makro əlavə edin

    İş kitabına makro daxil etmək üçün bu addımları yerinə yetirin:

    1. Boş sətirləri silmək istədiyiniz yerdə iş vərəqini açın.
    2. Visual Basic Redaktorunu açmaq üçün Alt + F11 düymələrini basın.
    3. Sol paneldə sağ klikləyin ThisWorkbook və sonra Insert > Module üzərinə klikləyin.
    4. Kodu Kod pəncərəsinə yapışdırın.
    5. F5 düyməsini basın. makronu işə salmaq üçün.

    Ətraflı addım-addım təlimatlar üçün Excel-də VBA-nın necə daxil edilməsi və istifadə edilməsinə baxın.

    Nümunə iş dəftərimizdən makro işə salın

    Nümunəmizi yükləyinBoş sətirləri silmək və oradan aşağıdakı makrolardan birini işə salmaq üçün makrolarla iş kitabı:

    DeleteBlankRows - hazırda seçilmiş diapazonda boş cərgələri silir.

    RemoveBlankLines - boş sətirləri silir və makronu işə saldıqdan sonra seçdiyiniz diapazonda yuxarı sürüşdürür.

    DeleteAllEmptyRows - aktiv vərəqdəki bütün boş sətirləri silir.

    DeleteRowIfCellBlank - xüsusi sütundakı xana boş olduqda cərgəni silir.

    Makronu Excel-də işə salmaq üçün aşağıdakıları edin:

    1. iş kitabını endirin və tələb olunarsa makroları aktivləşdirin.
    2. Öz iş kitabınızı açın və maraqlandığınız iş vərəqinə gedin.
    3. İş vərəqinizdə Alt + F8 düymələrini basın, makronu seçin və <8 klikləyin>Çalıştır .

    Excel-də boş sətirləri silmək üçün düstur

    Sildiyinizi görmək istəyirsinizsə, boş sətirləri müəyyən etmək üçün aşağıdakı düsturdan istifadə edin:

    =IF(COUNTA(A2:D2)=0, "Blank", "Not blank")

    Burada A2 birinci və D2 birinci məlumat cərgəsinin sonuncu istifadə olunan xanasıdır.

    Bu formu daxil edin a E2-də və ya 2-ci sətirdəki hər hansı digər boş sütun və düsturu aşağıya köçürmək üçün doldurma sapını dartın.

    Nəticədə boş sətirlərdə "Boş" və sətirlərdə "Boş deyil" olacaq. məlumatı olan ən azı bir xananı ehtiva edən:

    Düsturun məntiqi aydındır: siz COUNTA funksiyası ilə boş olmayan xanaları sayırsınız və IF ifadəsindən istifadə edərək sıfır say üçün "Boş", əks halda "Boş deyil" qaytarın. .

    İçindəƏslində, siz IF olmadan gözəl edə bilərsiniz:

    =COUNTA(A2:D2)=0

    Bu halda, düstur boş sətirlər üçün TRUE, qeyri-boş sətirlər üçün FALSE qaytaracaq.

    boş sətirləri silmək üçün bu addımları yerinə yetirin:

    1. Başlıq cərgəsində istənilən xana seçin və Sort & Filtr > Filtr Ev nişanında, Formatlar Bu, bütün başlıq xanalarına filtrləmə açılan oxlarını əlavə edəcək.
    2. Düstur sütununun başlığında oxu klikləyin, işarəni çıxarın (Hamısını seçin), Boş seçin və OK düyməsini basın:
    3. Bütün süzülmüş sətirləri seçin . Bunun üçün ilk süzgəcdən keçmiş cərgənin ilk xanasına klikləyin və seçimi son filtrlənmiş cərgənin sonuncu xanasına qədər genişləndirmək üçün Ctrl + Shift + End düymələrini basın.
    4. Seçimi sağ klikləyin, seçin. Kontekst menyusundan sətirini silin və sonra bütün sətirləri həqiqətən silmək istədiyinizi təsdiqləyin:
    5. Ctrl + Shift + L düymələrini basaraq filtri silin. Və ya Ev nişanı > Sort & Süzgəc > Filtr .
    6. Artiq ehtiyacınız olmadığı üçün düsturun olduğu sütunu silin.

    Belədir! Nəticədə, boş sətirləri olmayan, lakin bütün məlumatlar qorunan təmiz bir cədvəlimiz var:

    İpucu. Boş sətirləri silmək əvəzinə, siz boş olmayan sətirləri başqa yerə kopyalaya bilərsiniz. Bunu etmək üçün "Boş deyil" sətirlərini süzün, onları seçin və kopyalamaq üçün Ctrl + C düymələrini basın. Sonra keçid edinbaşqa vərəqdə təyinat diapazonunun yuxarı sol xanasını seçin və yapışdırmaq üçün Ctrl + V düymələrini basın.

    Power Query ilə Excel-də boş sətirləri necə silmək olar

    Excel 2016 və Excel 2019-da, boş sətirləri silməyin daha bir yolu var - Power Query funksiyasından istifadə etməklə. Excel 2010 və Excel 2013-də o, əlavə olaraq endirilə bilər.

    Vacib qeyd! Bu üsul aşağıdakı xəbərdarlıqla işləyir: Power Query mənbə məlumatını Excel cədvəlinə çevirir və doldurma rəngi, haşiyələr və bəzi rəqəm formatları kimi formatı dəyişir. Əgər orijinal məlumatınızın formatlaşdırılması sizin üçün vacibdirsə, Excel-də boş sətirləri silmək üçün başqa üsul seçsəniz yaxşı olar.

    1. Boş sətirləri silmək istədiyiniz aralığı seçin.
    2. Data tabına keçin > Al & Transform qrupunu və klikləyin Cədvəldən/Aralıqdan . Bu, cədvəlinizi Power Query Redaktoruna yükləyəcək.
    3. Power Query Redaktorunun Ev nişanında Sətrləri Sil > Boş Sətirləri Sil üzərinə klikləyin.
    4. Bağla & Yüklə Bu, nəticələnən cədvəli yeni iş vərəqinə yükləyəcək və Sorğu Redaktorunu bağlayacaq.

    Bu manipulyasiyalar nəticəsində boş sətirlər olmadan aşağıdakı cədvəli əldə etdim, lakin bir neçə xoşagəlməz dəyişikliklə - valyuta formatı itirildi və tarixlər standart formatda göstərilir xüsusi yerinə:

    Əgər sətirləri silmək olarmüəyyən sütundakı xana boşdur

    Bu dərsliyin əvvəlində biz sizi boş yerləri seçməklə boş sətirləri silməyiniz barədə xəbərdarlıq etmişdik. Bununla belə, əgər siz xüsusi sütunun boşluqlarına əsaslanan sətirləri silmək istəyirsinizsə, bu üsul faydalıdır.

    Nümunə olaraq, A sütununda xananın boş olduğu bütün sətirləri silək. :

    1. Bizim halda əsas sütunu, A sütununu seçin.
    2. Ev tabında Tap & Seçin > Xüsusiyə keçin . Və ya F5 düyməsini basın və Xüsusi… düyməsini basın.
    3. Xüsusi Get dialoq qutusunda Boşluqlar seçin və OK klikləyin. Bu, A sütununda istifadə olunan diapazonda boş xanaları seçəcək.
    4. İstənilən seçilmiş xanaya sağ klikləyin və kontekst menyusundan Sil... seçin.
    5. Sil dialoq qutusunda Bütün sətir seçin və OK düyməsini basın.

    Bitti! A sütununda dəyəri olmayan sətirlər artıq yoxdur:

    Eyni nəticəyə əsas sütundakı boş yerləri filtrləməklə nail olmaq olar.

    Məlumatların altındakı əlavə sətirləri necə silmək olar

    Bəzən tamamilə boş görünən sətirlər əslində bəzi formatları və ya çap olunmayan simvolları ehtiva edə bilər. Məlumatı olan son xananın həqiqətən iş vərəqinizdə sonuncu istifadə olunan xana olub-olmadığını yoxlamaq üçün Ctrl + End düymələrini basın. Bu, Excel baxımından sizi məlumatlarınızın altında vizual olaraq boş bir sıraya aparıbsa, bu sətir boş deyil. Belə cərgələri silmək üçün bunu edinaşağıdakı:

    1. Datanızın altındakı ilk boş cərgənin başlığına klikləyin.
    2. Ctrl + Shift + End düymələrini basın. Bu, formatlar, boşluqlar və çap olunmayan simvollar daxil olmaqla hər hansı bir şeyi ehtiva edən bütün sətirləri seçəcək.
    3. Seçim üzərinə sağ klikləyin və Sil... > Bütün sətir seçin.

    Nisbətən kiçik məlumat dəstiniz varsa, məlumatlarınızın altındakı bütün boş sətirlərdən xilas olmaq istəyə bilərsiniz, məsələn. sürüşdürməyi asanlaşdırmaq üçün. Excel-də istifadə olunmamış sətirləri silməyin heç bir yolu olmasa da, onları gizlətməyə mane olacaq heç nə yoxdur. Budur:

    1. Başlığına klikləməklə, verilənlərin olduğu sonuncu cərgənin altındakı sətri seçin.
    2. Seçimi vərəqdəki sonuncu sıraya qədər uzatmaq üçün Ctrl + Shift + Aşağı oxu basın .
    3. Seçilmiş cərgələri gizlətmək üçün Ctrl + 9 düyməsini basın. Və ya seçimi sağ klikləyin və sonra Gizlət düyməsini basın.

    sətirləri göstərmək üçün bütün vərəqi seçmək üçün Ctrl + A, sonra isə bütün sətirləri yenidən görünmək üçün Ctrl + Shift + 9 düymələrini basın.

    Oxşar şəkildə, məlumatlarınızın sağında istifadə olunmamış boş sütunları gizlədə bilərsiniz. Ətraflı addımlar üçün lütfən, Excel-də istifadə olunmamış cərgələri gizlət bölməsinə baxın ki, yalnız iş sahəsi görünsün.

    Excel-də boş cərgələri silməyin ən sürətli yolu

    Əvvəlki nümunələri oxuyarkən, elə deyilmi? qozu sındırmaq üçün balyozdan istifadə etdiyimizi hiss edirsən? Burada, Ablebits-də biz bunu etməməyi üstün tuturuq

    Michael Brown proqram alətlərindən istifadə edərək mürəkkəb prosesləri sadələşdirməyə həvəsi olan xüsusi texnologiya həvəskarıdır. Texnologiya sənayesində on ildən artıq təcrübəyə malik olmaqla, o, Microsoft Excel və Outlook, həmçinin Google Cədvəl və Sənədlərdə bacarıqlarını mükəmməlləşdirib. Mayklın bloqu öz biliyini və təcrübəsini başqaları ilə bölüşməyə, məhsuldarlığı və səmərəliliyi artırmaq üçün asan izlənilən məsləhətlər və dərslikləri təqdim etməyə həsr olunub. İstər təcrübəli peşəkar, istərsə də yeni başlayan biri olmağınızdan asılı olmayaraq, Mayklın bloqu bu vacib proqram alətlərindən maksimum yararlanmaq üçün dəyərli fikirlər və praktiki məsləhətlər təklif edir.