Excelda VBA, formulalar va Power Query yordamida bo'sh qatorlarni qanday o'chirish mumkin

  • Buni Baham Ko'Ring
Michael Brown

Ushbu qo'llanma sizga Excelda bir nechta bo'sh qatorlarni bir bit ma'lumotni yo'qotmasdan xavfsiz o'chirish uchun bir necha oddiy fokuslarni o'rgatadi .

Excel'dagi bo'sh qatorlar hammamiz duch keladigan muammodir. vaqti-vaqti bilan, ayniqsa, turli manbalardan ma'lumotlarni birlashtirganda yoki boshqa joydan ma'lumotlarni import qilganda. Bo'sh satrlar turli darajadagi ish varaqlariga juda ko'p zarar etkazishi mumkin va ularni qo'lda o'chirish ko'p vaqt talab qiladigan va xatolarga moyil bo'lgan jarayon bo'lishi mumkin. Ushbu maqolada siz ish varaqlaridagi bo'sh joylarni olib tashlashning bir necha oddiy va ishonchli usullarini o'rganasiz.

    Qanday qilib Excelda bo'sh satrlarni O'chirish MUMKIN

    Bir necha bor. Excelda bo'sh satrlarni o'chirishning turli usullari, lekin ajablanarlisi shundaki, ko'plab onlayn resurslar eng xavflisi bilan yopishadi, ya'ni Top & Tanlang > Maxsus sahifaga o'ting > Blankalar .

    Ushbu texnikada nima noto'g'ri? U diapazondagi barcha bo'sh joylarni tanlaydi va natijada siz bitta bo'sh katakcha bo'lgan barcha qatorlarni o'chirib tashlaysiz.

    Quyidagi rasmda chap va asl jadval ko'rsatilgan. o'ngdagi natija jadvali. Olingan jadvalda barcha toʻliq boʻlmagan qatorlar, hatto D ustunidagi sana yoʻq boʻlgan 10-qator ham yoʻq boʻlib ketdi:

    Xulosa: agar siz maʼlumotlaringizni chalkashtirib yuborishni xohlamasangiz, hech qachon boʻsh satrlarni oʻchirmang. bo'sh katakchalarni tanlash orqali qatorlar. Buning o'rniga, muhokama qilingan ko'proq ko'rib chiqilgan yondashuvlardan birini qo'llangnarsalarni kerak bo'lgandan ko'ra murakkabroq qilish. Shunday qilib, biz bir qadam oldinga bordik va Excelda boʻsh qatorlarni oʻchirish uchun ikki marta bosish orqali marshrut yaratdik.

    Tasmangizga Ultimate Suite qoʻshilgan boʻlsa, bu yerda siz barcha boʻsh qatorlarni oʻchirib tashlashingiz mumkin . ish varag'ida:

    1. Ablebits Tools yorlig'ida, Transform guruhida Blankalarni o'chirish > tugmasini bosing. Bo'sh qatorlar :
    2. Qo'shimcha ilova barcha bo'sh qatorlar faol ish varag'idan olib tashlanishi haqida xabar beradi va tasdiqlashni so'raydi. OK ni bosing va bir zumda barcha bo'sh qatorlar o'chiriladi.

    Quyidagi skrinshotda ko'rsatilganidek, biz faqat ma'lumotlarga ega bo'lgan bitta katakchaga ega bo'lmagan mutlaqo bo'sh satrlarni olib tashladik:

    Topish uchun Excel uchun Ultimate Suite tarkibiga kirgan yana ajoyib xususiyatlardan foydalanish uchun sinov versiyasini yuklab olishingiz mumkin.

    O'qiganingiz uchun rahmat va kelgusi hafta blogimizda ko'rishga umid qilaman!

    quyida.

    VBA yordamida Excelda bo'sh qatorlarni qanday olib tashlash mumkin

    Excel VBA ko'p narsalarni, jumladan, bir nechta bo'sh qatorlarni tuzatishi mumkin. Ushbu yondashuvning eng yaxshi tomoni shundaki, u hech qanday dasturlash ko'nikmalarini talab qilmaydi. Shunchaki, quyidagi kodlardan birini oling va uni Excel-da ishga tushiring (ko'rsatmalar bu yerda).

    Makro 1. Tanlangan diapazondagi bo'sh satrlarni o'chirish

    Ushbu VBA kodi barcha bo'sh joylarni jimgina o'chiradi. foydalanuvchiga hech qanday xabar yoki dialog oynasini ko'rsatmasdan tanlangan diapazondagi qatorlar.

    Avvalgi texnikadan farqli o'laroq, agar butun qator bo'sh bo'lsa so'l qatorni o'chiradi. U har bir satrdagi bo'sh bo'lmagan katakchalar sonini olish uchun CountA ish varag'i funksiyasiga tayanadi va keyin nol soniga ega qatorlarni o'chiradi.

    Public Sub DeleteBlankRows() Dim SourceRange As Range Dim EntireRow As Range SourceRange = Ilova. Agar yo'q bo'lsa tanlash (SourceRange hech narsa emas) Keyin Application.ScreenUpdating = False For I = SourceRange.Rows.Count 1-qadam -1 EntireRow = SourceRange.Cells(I, 1).EntireRow Agar Application.WorksheetFunction.CountA) =EntireRow ni o'rnating. 0 Keyin EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    Foydalanuvchiga makrosni ishga tushirgandan so'ng maqsad diapazonni tanlash imkoniyatini berish uchun quyidagi koddan foydalaning:

    Umumiy Sub RemoveBlankLines() Dim SourceRange diapazon sifatida xira butun qator sifatida diapazonda Xato Davom etish Keyingi o‘rnatish SourceRange = Application.InputBox( _"Diapazonni tanlang:" , "Bo'sh qatorlarni o'chirish" , _ Application.Selection.Address, yozing :=8) Agar yo'q bo'lsa (SourceRange hech narsa emas) u holda Application.ScreenUpdating = False For I = SourceRange.Rows. 1 qadamgacha hisob - 1 O'rnating EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountA(EntireRow) = 0 Keyin EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    Ishga tushirilgandan so'ng makro ko'rinadi. quyidagi kiritish maydonida maqsadli diapazonni tanlaysiz va OK tugmasini bosing:

    Bir zumda tanlangan diapazondagi barcha boʻsh satrlar oʻchiriladi va qolganlari yuqoriga siljiydi:

    Makro 2. Excel-dagi barcha bo'sh qatorlarni o'chiring

    faol varaqdagi barcha bo'sh satrlarni o'chirish uchun foydalanilgan diapazonning oxirgi qatorini aniqlang (ya'ni: maʼlumotlar bilan oxirgi katak), soʻngra yuqoriga qarab CountA nolni qaytaradigan satrlarni oʻchiring:

    Sub DeleteAllEmptyRows() Dim LastRowIndex As Integer Dim RowIndex As Integer Dim UsedRng as Integer Dim UsedRng as diapazon Set UsedRng = Activ eSheet.UsedRange LastRowIndex = UsedRng.Row - 1 + UsedRng.Rows.Count Application.ScreenUpdating = RowIndex uchun noto'g'ri = LastRowIndex 1-bosqichga -1 Agar Application.CountA(Rows(RowIndex)) = 0 bo'lsa, keyin qatorlar(Deleletex). Agar Next RowIndex Application.ScreenUpdating = True End Sub

    Makro 3. Yacheyka bo'sh bo'lsa qatorni o'chiring

    Ushbu makros bilan siz belgilangan katakdagi katakni butun qatorni o'chirishingiz mumkin.ustun bo'sh.

    Quyidagi kod A ustunidagi bo'shliqlarni tekshiradi. Boshqa ustunga asoslangan satrlarni oʻchirish uchun “A” harfini tegishli harf bilan almashtiring.

    Sub DeleteRowIfCellBlank() Xato haqida Keyingi Ustunlarni davom ettirish( “A” ).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

    As a Aslida, makro Maxsus o'tish > Blankalar xususiyatidan foydalanadi va siz ushbu amallarni qo'lda bajarish orqali bir xil natijaga erishishingiz mumkin.

    Eslatma. Makros butun varaq dagi bo'sh qatorlarni o'chiradi, shuning uchun uni ishlatishda juda ehtiyot bo'ling. Ehtiyot chorasi sifatida ushbu makrosni ishga tushirishdan oldin ishchi varaqning zaxira nusxasini yaratish oqilona bo'lishi mumkin.

    VBA yordamida Excelda bo'sh satrlarni qanday olib tashlash mumkin

    Makro yordamida Excelda bo'sh qatorlarni o'chirish uchun siz VBA kodini o'zingizning ishchi kitobingizga kiritishingiz yoki namunaviy kitobimizdan makroni ishga tushirishingiz mumkin.

    Ishchi kitobingizga makro qo'shing

    Ishchi kitobingizga makro qo'shish uchun quyidagi amallarni bajaring:

    1. Bo'sh qatorlarni o'chirmoqchi bo'lgan ishchi varaqni oching.
    2. Visual Basic muharririni ochish uchun Alt + F11 tugmalarini bosing.
    3. Chap panelda sichqonchaning o'ng tugmachasini bosing. ThisWorkbook va keyin Insert > Module tugmasini bosing.
    4. Kodni Kod oynasiga joylashtiring.
    5. F5 tugmasini bosing makrosni ishga tushirish uchun.

    Batafsil bosqichma-bosqich ko'rsatmalar uchun VBA-ni Excelga qanday kiritish va undan foydalanish bo'limiga qarang.

    Namunaviy ish kitobimizdan makrosni ishga tushiring

    Bizning namunamizni yuklab olingBo'sh qatorlarni o'chirish va u erdan quyidagi makroslardan birini ishga tushirish uchun makroslar bilan ish kitobi:

    DeleteBlankRows - joriy tanlangan diapazondagi bo'sh qatorlarni olib tashlaydi.

    RemoveBlankLines - bo'sh qatorlarni o'chiradi va makrosni ishga tushirgandan so'ng siz tanlagan diapazonda yuqoriga siljiydi.

    DeleteAllEmptyRows - faol varaqdagi barcha bo'sh satrlarni o'chiradi.

    DeleteRowIfCellBlank - ma'lum bir ustundagi katak bo'sh bo'lsa, qatorni o'chiradi.

    Makroni Excelda ishga tushirish uchun quyidagilarni bajaring:

    1. Ochish yuklab olingan ishchi kitobini va so'ralsa, makroslarni yoqing.
    2. O'z ish kitobingizni oching va qiziqqan ish varag'iga o'ting.
    3. Ish varaqingizda Alt + F8 tugmalarini bosing, so'lni tanlang va Ishga tushirish .

    Excel'da bo'sh qatorlarni o'chirish formulasi

    Agar siz nima o'chirayotganingizni ko'rishni istasangiz, bo'sh satrlarni aniqlash uchun quyidagi formuladan foydalaning:

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

    Bu erda A2 birinchi va D2 birinchi ma'lumotlar qatorining oxirgi ishlatilgan katagidir.

    Ushbu formulani kiriting E2 yoki 2-qatordagi boshqa bo'sh ustunni bosing va formuladan nusxa ko'chirish uchun to'ldirish dastagini pastga torting.

    Natijada siz bo'sh qatorlarda "Bo'sh" va qatorlarda "Bo'sh emas" bo'ladi. kamida bitta ma'lumotga ega bo'lgan katakchalar:

    Formula mantig'i aniq: siz bo'sh bo'lmagan hujayralarni COUNTA funksiyasi bilan hisoblaysiz va IF iborasidan foydalanib, nol son uchun "Bo'sh", aks holda "Bo'sh emas" ni qaytarasiz. .

    InAslida, siz IFsiz yaxshi ish qilishingiz mumkin:

    =COUNTA(A2:D2)=0

    Bu holda, formula bo'sh satrlar uchun TRUE va bo'sh bo'lmagan satrlar uchun FALSE qiymatini qaytaradi.

    . formula o'rnatilgan bo'lsa, bo'sh satrlarni o'chirish uchun quyidagi amallarni bajaring:

    1. Sarlavha qatoridagi istalgan katakchani tanlang va Sart & Filtr > Filtr Uy yorlig'ida, Formatlar Bu barcha sarlavha hujayralariga filtrlash ochiladigan strelkalar qo'shadi.
    2. Formula ustuni sarlavhasidagi o'qni bosing, belgini olib tashlang (Hammasini tanlang), Bo'sh -ni tanlang va OK -ni bosing:
    3. Barcha filtrlangan qatorlarni tanlang. . Buning uchun birinchi filtrlangan qatorning birinchi katakchasini bosing va tanlovni oxirgi filtrlangan qatorning oxirgi katakchasigacha kengaytirish uchun Ctrl + Shift + End tugmalarini bosing.
    4. Tanlovni o'ng tugmasini bosing, -ni tanlang. Kontekst menyusidan qatorni o'chiring va keyin butun qatorlarni o'chirishni xohlayotganingizni tasdiqlang:
    5. Ctrl + Shift + L tugmalarini bosib filtrni o'chiring. Yoki Uy yorlig'ini > Sartlash & Filtr > Filtr .
    6. Formula bilan ustunni o'chirib tashlang, chunki endi sizga kerak emas.

    Hammasi! Natijada, bizda bo'sh qatorlarsiz, ammo barcha ma'lumotlar saqlanib qolgan toza jadval mavjud:

    Maslahat. Bo'sh satrlarni o'chirish o'rniga, siz bo'sh bo'lmagan satrlarni boshqa joyga ko'chirishingiz mumkin. Buni amalga oshirish uchun "Bo'sh emas" qatorlarini filtrlang, ularni tanlang va nusxalash uchun Ctrl + C tugmalarini bosing. Keyin ga o'tingboshqa varaqda, maqsad diapazonining yuqori chap katakchasini tanlang va joylashtirish uchun Ctrl + V tugmalarini bosing.

    Power Query yordamida Excelda bo'sh satrlarni qanday olib tashlash mumkin

    Excel 2016 va Excel 2019 da, bo'sh qatorlarni o'chirishning yana bir usuli bor - Power Query xususiyatidan foydalanish. Excel 2010 va Excel 2013 da uni plagin sifatida yuklab olish mumkin.

    Muhim eslatma! Ushbu usul quyidagi ogohlantirish bilan ishlaydi: Power Query manba ma'lumotlarini Excel jadvaliga o'zgartiradi va to'ldirish rangi, chegaralar va ba'zi raqamlar formatlari kabi formatlashni o'zgartiradi. Agar asl maʼlumotlaringizni formatlash siz uchun muhim boʻlsa, Excelda boʻsh qatorlarni olib tashlashning boshqa usulini tanlaganingiz maʼqul.

    1. Boʻsh satrlarni oʻchirmoqchi boʻlgan oraliqni tanlang.
    2. Ma'lumotlar yorlig'iga o'ting > Olish & Transform guruhi va From Jadval/Range tugmasini bosing. Bu sizning jadvalingizni Power Query Editor-ga yuklaydi.
    3. Power Query Editor-ning Uy yorlig'ida Qatorlarni o'chirish > Bo'sh qatorlarni olib tashlash -ni bosing.
    4. Yopish & Load Bu natijada olingan jadvalni yangi ish varag'iga yuklaydi va so'rovlar muharririni yopadi.

    Ushbu manipulyatsiyalar natijasida men bo'sh qatorlarsiz quyidagi jadvalni oldim, lekin bir nechta yomon o'zgarishlar bilan - valyuta formati yo'qoladi va sanalar standart formatda ko'rsatiladi maxsus o'rniga:

    Qanday bo'lsa qatorlarni o'chirishma'lum bir ustundagi katak bo'sh

    Ushbu qo'llanmaning boshida biz sizni bo'sh joylarni tanlash orqali bo'sh satrlarni olib tashlashdan ogohlantirgan edik. Biroq, agar siz ma'lum bir ustundagi bo'sh joylarga asoslangan qatorlarni o'chirmoqchi bo'lsangiz, bu usul qo'l keladi.

    Misol sifatida, A ustunidagi katak bo'sh bo'lgan barcha qatorlarni olib tashlaymiz. :

    1. Kalit ustunini, bizning holatlarimizda A ustunini tanlang.
    2. Uy yorlig'ida Topish & > Maxsusga o'tish -ni tanlang. Yoki F5 tugmasini bosing va Maxsus… tugmasini bosing.
    3. Maxsusga o'tish muloqot oynasida Blankalar -ni tanlang va OK tugmasini bosing. Bu A ustunidagi foydalanilgan diapazondagi bo'sh kataklarni tanlaydi.
    4. Istalgan tanlagan katakchani o'ng tugmasini bosing va kontekst menyusidan O'chirish... -ni tanlang.
    5. O'chirish muloqot oynasida Butun qator -ni tanlang va OK tugmasini bosing.

    Bajarildi! A ustunida qiymatga ega bo'lmagan qatorlar endi yo'q:

    Kalit ustunidagi bo'sh joylarni filtrlash orqali bir xil natijaga erishish mumkin.

    Ma'lumotlar ostidagi qo'shimcha qatorlarni qanday olib tashlash mumkin

    Ba'zida butunlay bo'sh ko'rinadigan qatorlar aslida ba'zi formatlar yoki chop etilmaydigan belgilarni o'z ichiga olishi mumkin. Ma'lumotlarga ega oxirgi katak haqiqatan ham ish varag'ingizdagi oxirgi ishlatilgan hujayra ekanligini tekshirish uchun Ctrl + End tugmalarini bosing. Agar bu sizni ma'lumotlaringiz ostidagi vizual bo'sh qatorga olib kelgan bo'lsa, Excel nuqtai nazaridan, bu qator bo'sh emas. Bunday qatorlarni olib tashlash uchun quyidagi amallarni bajaringquyidagi:

    1. Ma'lumotlaringiz ostidagi birinchi bo'sh qatorning sarlavhasini bosing va uni tanlang.
    2. Ctrl + Shift + End ni bosing. Bu, jumladan, formatlar, boʻshliqlar va chop etilmaydigan belgilarni oʻz ichiga olgan barcha qatorlarni tanlaydi.
    3. Tanlovni oʻng tugmasini bosing va Oʻchirish… > Butun qatorni tanlang.

    Agar sizda nisbatan kichik maʼlumotlar toʻplami boʻlsa, maʼlumotlaringiz ostidagi barcha boʻsh satrlardan xalos boʻlishni xohlashingiz mumkin, masalan. aylantirishni osonlashtirish uchun. Excelda foydalanilmagan qatorlarni o'chirishning hech qanday usuli bo'lmasa-da, ularni yashirishga to'sqinlik qiladigan hech narsa yo'q. Mana shunday:

    1. Ma'lumotlar bilan oxirgi qatorni uning sarlavhasini bosish orqali tanlang.
    2. Tanlovni varaqdagi oxirgi qatorgacha kengaytirish uchun Ctrl + Shift + Pastga o'q tugmalarini bosing. .
    3. Tanlangan qatorlarni yashirish uchun Ctrl + 9 tugmalarini bosing. Yoki tanlovni o'ng tugmasini bosing va keyin Yashirish -ni bosing.

    Qatorlarni koʻrsatish uchun butun varaqni tanlash uchun Ctrl + A tugmalarini bosing va keyin barcha satrlarni yana koʻrinadigan qilish uchun Ctrl + Shift + 9 tugmalarini bosing.

    Shunga o'xshab, ma'lumotlaringizning o'ng tomonida foydalanilmagan bo'sh ustunlarni yashirishingiz mumkin. Batafsil qadamlar uchun “Excel’da foydalanilmagan qatorlarni yashirish” bo‘limiga qarang, shunda faqat ish maydoni ko‘rinadi.

    Excel’da bo‘sh qatorlarni olib tashlashning eng tezkor usuli

    Avvalgi misollarni o‘qiganingizda, shunday emasmi? Biz yong'oqni yorilish uchun balyoz ishlatgandek his qilyapsizmi? Bu erda, Ablebits-da biz buni qilmaslikni afzal ko'ramiz

    Maykl Braun - dasturiy vositalardan foydalangan holda murakkab jarayonlarni soddalashtirishga ishtiyoqi bo'lgan maxsus texnologiya ishqibozi. Texnologiya sohasida o'n yildan ortiq tajribaga ega bo'lgan holda, u Microsoft Excel va Outlook, shuningdek, Google Sheets va Docs dasturlarida o'z mahoratini oshirdi. Mayklning blogi o'z bilimi va tajribasini boshqalar bilan baham ko'rishga, samaradorlik va samaradorlikni oshirish uchun amal qilish oson maslahatlar va o'quv qo'llanmalariga bag'ishlangan. Tajribali mutaxassismisiz yoki yangi boshlovchi boʻlasizmi, Mayklning blogi ushbu muhim dasturiy vositalardan maksimal darajada foydalanish uchun qimmatli tushunchalar va amaliy maslahatlarni taqdim etadi.