Excel бағдарламасындағы бос жолдарды VBA, формулалар және Power Query көмегімен қалай жоюға болады

  • Мұны Бөлісіңіз
Michael Brown

Бұл оқулық сізге Excel бағдарламасындағы бірнеше бос жолдарды бір бит ақпаратты жоғалтпай қауіпсіз жоюдың бірнеше қарапайым тәсілдерін үйретеді .

Excel бағдарламасындағы бос жолдар - бәріміз кездесетін мәселе. анда-санда, әсіресе әртүрлі көздерден алынған деректерді біріктіргенде немесе басқа жерден ақпаратты импорттағанда. Бос жолдар әртүрлі деңгейлердегі жұмыс парақтарыңызға үлкен зиян келтіруі мүмкін және оларды қолмен жою көп уақытты қажет ететін және қатеге бейім процесс болуы мүмкін. Бұл мақалада сіз жұмыс парақтарындағы бос орындарды алып тастаудың бірнеше қарапайым және сенімді әдістерін үйренесіз.

    Excel бағдарламасында бос жолдарды қалай АЛМАУ БОЛАДЫ

    Бірнешелері бар Excel бағдарламасындағы бос жолдарды жоюдың әртүрлі әдістері, бірақ таңқаларлық көптеген онлайн ресурстар ең қауіптісі, атап айтқанда Табу & > Арнайы бөліміне өту > Бос орындар таңдаңыз.

    Бұл техникада не дұрыс емес? Ол ауқымдағы барлық бос орындарды таңдайды, демек, бір бос ұяшықты қамтитын барлық жолдарды жоясыз.

    Төмендегі суретте сол жақтағы түпнұсқа кесте және оң жақтағы нәтиже кесте. Алынған кестеде барлық аяқталмаған жолдар жойылды, тіпті D бағанындағы күн ғана жоқ 10-жол:

    Төменгі жол: деректеріңізді шатастырғыңыз келмесе, ешқашан бос жолдарды жоймаңыз. бос ұяшықтарды таңдау арқылы жолдар. Оның орнына, талқыланған көбірек қарастырылған тәсілдердің бірін пайдаланыңыззаттарды қажет болғаннан күрделірек ету. Сонымен, біз бір қадам алға басып, Excel бағдарламасындағы бос жолдарды екі рет басу арқылы жою жолын жасадық.

    Таспаға Ultimate Suite қосылғанда, барлық бос жолдарды қалай жоюға болады. жұмыс парағында:

    1. Ablebits Tools қойындысындағы Transform тобында Бос орындарды жою > түймесін басыңыз. Бос жолдар :
    2. Қондырма барлық бос жолдардың белсенді жұмыс парағынан жойылатынын хабарлайды және растауды сұрайды. OK түймесін басыңыз, бір сәтте барлық бос жолдар жойылады.

    Төмендегі скриншотта көрсетілгендей, деректері бар бір ұяшығы жоқ мүлдем бос жолдарды ғана алып тастадық:

    Табу үшін Excel бағдарламасына арналған Ultimate Suite құрамына кіретін тағы да керемет мүмкіндіктер үшін сынақ нұсқасын жүктеп алуға қош келдіңіз.

    Оқығаныңыз үшін рахмет және келесі аптада блогымызда көреміз деп үміттенемін!

    төменде.

    VBA көмегімен Excel бағдарламасындағы бос жолдарды жою жолы

    Excel VBA көп нәрсені, соның ішінде бірнеше бос жолдарды түзете алады. Бұл тәсілдің ең жақсы жағы - ол ешқандай бағдарламалау дағдыларын қажет етпейді. Төмендегі кодтардың бірін алып, оны Excel бағдарламасында іске қосыңыз (нұсқаулар осында).

    Макрос 1. Таңдалған ауқымдағы бос жолдарды жою

    Бұл VBA коды барлық бос орындарды үнсіз жояды. пайдаланушыға ешқандай хабарды немесе диалогтық терезені көрсетпей, таңдалған ауқымдағы жолдар.

    Алдыңғы әдістемеден айырмашылығы, макрос барлық жол бос болса жолды жояды. Ол әр жолдағы бос емес ұяшықтардың санын алу үшін CountA жұмыс парағы функциясына сүйенеді, содан кейін нөл саны бар жолдарды жояды.

    Public Sub DeleteBlankRows() Dim SourceRange диапазон ретінде Dim EntireRow ауқым ретінде Dim SourceRange = Бағдарлама. Олай болмаған жағдайда таңдау (SourceRange ештеңе емес) Содан кейін Application.ScreenUpdating = False For I = SourceRange.Rows.Count 1-қадамға дейін EntireRow = SourceRange.Cells(I, 1).EntireRow болса Application.WorksheetFunction.CountA)(EntireRow) мәнін орнатыңыз. 0 Содан кейін EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    Пайдаланушыға макросты іске қосқаннан кейін мақсатты ауқымды таңдау мүмкіндігін беру үшін мына кодты пайдаланыңыз:

    Жалпы Sub RemoveBlankLines() Dim SourceRange диапазон ретінде күңгірттендірілген Бүкіл жол ауқым ретінде Қате Жалғастыру Келесі орнату SourceRange = Application.InputBox( _"Ауқымды таңдау:" , "Бос жолдарды жою" , _ Application.Selection.Address, Түр :=8) Егер жоқ болса (SourceRange ештеңе емес ) Содан кейін Application.ScreenUpdating = False үшін I = SourceRange.Rows.1 қадамға дейін санау - 1 Set EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountA(EntireRow) = 0 Содан кейін EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    Іске қосу кезінде макрос көрсетіледі. келесі енгізу жолағында мақсатты ауқымды таңдап, OK түймесін басыңыз:

    Бір сәтте таңдалған ауқымдағы барлық бос жолдар жойылады және қалғандары жоғары қарай жылжиды:

    Макро 2. Excel бағдарламасындағы барлық бос жолдарды жою

    белсенді парақта барлық бос жолдарды жою үшін пайдаланылған ауқымның соңғы жолын (яғни: деректері бар соңғы ұяшық), содан кейін CountA нөлді қайтаратын жолдарды жоя отырып, жоғары қарай жүріңіз:

    Sub DeleteAllEmptyRows() Dim LastRowIndex Integer As Integer Dim RowIndex As Integer Dim UsedRng ретінде ауқым жиыны UsedRng = Activ eSheet.UsedRange LastRowIndex = UsedRng.Row - 1 + UsedRng.Rows.Count Application.ScreenUpdating = False RowIndex үшін = LastRowIndex 1-қадамға, Application.CountA(Rows(RowIndex)) = 0 болса, онда Жолдар(DeleleIndex). Егер Next RowIndex Application.ScreenUpdating = True End Sub

    Макрос 3. Ұяшық бос болса жолды жою

    Осы макроспен көрсетілген ұяшықтағы ұяшықты толық жоюға болады.баған бос.

    Келесі код А бағанында бос орындар бар-жоғын тексереді. Басқа бағанға негізделген жолдарды жою үшін "A" әрпін сәйкес әріппен ауыстырыңыз.

    Sub DeleteRowIfCellBlank() Қате туралы Келесі бағандарды жалғастырыңыз( "A" ).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

    As a шын мәнінде, макрос Арнайыға өту > Бос орындар мүмкіндігін пайдаланады және осы қадамдарды қолмен орындау арқылы бірдей нәтижеге қол жеткізуге болады.

    Ескертпе. Макрос барлық парақта бос жолдарды жояды, сондықтан оны пайдалану кезінде өте сақ болыңыз. Сақтық шарасы ретінде осы макросты іске қоспас бұрын жұмыс парағының сақтық көшірмесін жасаған дұрыс.

    Excel бағдарламасында VBA көмегімен бос жолдарды қалай жоюға болады

    Макрос арқылы Excel бағдарламасындағы бос жолдарды жою үшін, сіз VBA кодын өзіңіздің жұмыс кітабыңызға кірістіре аласыз немесе үлгі жұмыс кітабымыздан макросты іске қоса аласыз.

    Жұмыс кітабыңызға макрос қосыңыз

    Жұмыс кітабыңызға макросты кірістіру үшін мына қадамдарды орындаңыз:

    1. Бос жолдарды жойғыңыз келетін жұмыс парағын ашыңыз.
    2. Visual Basic өңдегішін ашу үшін Alt + F11 пернелер тіркесімін басыңыз.
    3. Сол жақ тақтада тінтуірдің оң жақ түймешігін басыңыз. ThisWorkbook , содан кейін Insert > Module түймесін басыңыз.
    4. Код терезесіне кодты қойыңыз.
    5. F5 пернесін басыңыз. макросты іске қосу үшін.

    Егжей-тегжейлі қадамдық нұсқауларды Excel бағдарламасында VBA енгізу және пайдалану жолын қараңыз.

    Үлгі жұмыс кітабымыздан макросты іске қосыңыз

    Біздің үлгіні жүктеп алыңызбос жолдарды жою үшін макростары бар жұмыс кітабы және сол жерден келесі макростардың бірін іске қосыңыз:

    DeleteBlankRows - ағымдағы таңдалған ауқымдағы бос жолдарды жояды.

    RemoveBlankLines - бос жолдарды жояды және макросты іске қосқаннан кейін таңдалған ауқымда жоғары жылжытады.

    DeleteAllEmptyRows - белсенді парақтағы барлық бос жолдарды жояды.

    DeleteRowIfCellBlank - белгілі бір бағандағы ұяшық бос болса, жолды жояды.

    Excel бағдарламасында макросты іске қосу үшін келесі әрекеттерді орындаңыз:

    1. жүктеп алынған жұмыс кітабын және сұралса, макростарды қосыңыз.
    2. Өз жұмыс кітабыңызды ашыңыз және қызықты жұмыс парағына өтіңіз.
    3. Жұмыс парағында Alt + F8 пернелерін басыңыз, макросты таңдап, <8 түймесін басыңыз>Іске қосу .

    Excel бағдарламасындағы бос жолдарды жою формуласы

    Жойып жатқан нәрсені көргіңіз келсе, бос жолдарды анықтау үшін келесі формуланы пайдаланыңыз:

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

    Мұнда A2 бірінші және D2 бірінші деректер жолының соңғы пайдаланылған ұяшығы болып табылады.

    Осы формуланы енгізіңіз a E2 немесе 2-жолдағы кез келген басқа бос баған, және формуланы төмен көшіру үшін толтыру тұтқасын сүйреңіз.

    Нәтижесінде бос жолдарда «Бос» және жолдарда «Бос емес» болады. деректері бар кем дегенде бір ұяшықты қамтитын:

    Формуланың логикасы анық: сіз COUNTA функциясымен бос емес ұяшықтарды санайсыз және IF операторын нөлдік санға "Бос", әйтпесе "Бос емес" мәнін қайтару үшін пайдаланасыз. .

    Inшын мәнінде, IF:

    =COUNTA(A2:D2)=0

    Бұл жағдайда формула бос жолдар үшін АҚИҚАТ және бос емес жолдар үшін ЖАЛҒАН мәнін қайтарады.

    формуланы орындасаңыз, бос жолдарды жою үшін мына қадамдарды орындаңыз:

    1. Тақырып жолындағы кез келген ұяшықты таңдап, Сұрыптау & Сүзгі > Сүзгі Басты қойындысындағы Пішімдер Бұл барлық тақырып ұяшықтарына сүзу ашылмалы көрсеткілерін қосады.
    2. Формула бағанының тақырыбындағы көрсеткіні басыңыз, (Барлығын таңдау) құсбелгіні алып тастаңыз, Бос параметрін таңдап, Жарайды түймесін басыңыз:
    3. Сүзгіленген барлық жолдарды таңдаңыз. . Ол үшін бірінші сүзілген жолдың бірінші ұяшығын нұқыңыз және таңдауды соңғы сүзілген жолдың соңғы ұяшығына дейін кеңейту үшін Ctrl + Shift + End пернелер тіркесімін басыңыз.
    4. Таңдауды тінтуірдің оң жақ түймешігімен басып, таңдаңыз. Мәтінмәндік мәзірден жолын жойыңыз, содан кейін барлық жолдарды шынымен жойғыңыз келетінін растаңыз:
    5. Ctrl + Shift + L пернелерін басу арқылы сүзгіні жойыңыз. Немесе Басты қойындысын > Сұрыптау & Сүзгі > Сүзгі .
    6. Формула бар бағанды ​​жойыңыз, себебі ол енді қажет емес.

    Болды! Нәтижесінде бізде бос жолдар жоқ, бірақ барлық ақпарат сақталған таза кесте бар:

    Кеңес. Бос жолдарды жоюдың орнына бос емес жолдарды басқа жерге көшіруге болады. Оны орындау үшін «Бос емес» жолдарды сүзіп, оларды таңдап, көшіру үшін Ctrl + C пернелер тіркесімін басыңыз. Содан кейін ауысыңызбасқа парақ үшін тағайындалған ауқымның жоғарғы сол жақ ұяшығын таңдап, қою үшін Ctrl + V пернелер тіркесімін басыңыз.

    Excel бағдарламасында Power Query көмегімен бос жолдарды қалай жоюға болады

    Excel 2016 және Excel 2019 нұсқаларында, бос жолдарды жоюдың тағы бір жолы бар - Power Query мүмкіндігін пайдалану. Excel 2010 және Excel 2013 нұсқаларында оны қондырма ретінде жүктеп алуға болады.

    Маңызды ескерту! Бұл әдіс келесі ескертумен жұмыс істейді: Power Query бастапқы деректерді Excel кестесіне түрлендіреді және бояу түсі, жиектер және кейбір сан пішімдері сияқты пішімдеуді өзгертеді. Бастапқы деректеріңізді пішімдеу сіз үшін маңызды болса, Excel бағдарламасындағы бос жолдарды жоюдың басқа әдісін таңдағаныңыз жөн.

    1. Бос жолдарды жойғыңыз келетін аумақты таңдаңыз.
    2. Деректер қойындысына өтіңіз > Алу & Transform тобын және Кестеден/Ауқымнан басыңыз. Бұл кестеңізді Power Query өңдегішіне жүктейді.
    3. Power Query өңдегішінің Басты бет қойындысында Жолдарды жою > Бос жолдарды жою түймесін басыңыз.
    4. Жабу & Жүктеу Бұл нәтиже кестені жаңа жұмыс парағына жүктейді және Сұрау өңдегішін жабады.

    Осы манипуляциялардың нәтижесінде мен бос жолдарсыз келесі кестені алдым, бірақ бірнеше жағымсыз өзгерістермен - валюта пішімі жоғалып, күндер әдепкі форматта көрсетіледі теңшелетіннің орнына:

    Егер болса, жолдарды қалай жоюға боладыбелгілі бір бағандағы ұяшық бос

    Осы оқулықтың басында бос орындарды таңдау арқылы бос жолдарды алып тастауды ескерттік. Дегенмен, бұл әдіс белгілі бір бағандағы бос орындарға негізделген жолдарды жойғыңыз келсе пайдалы болады.

    Мысал ретінде А бағанындағы ұяшық бос барлық жолдарды алып тастаймыз. :

    1. Кілт бағанасын, біздің жағдайда А бағанын таңдаңыз.
    2. Басты бет қойындысында Табу & > Арнайы бөліміне өту таңдаңыз. Немесе F5 пернесін басып, Арнайы... түймесін басыңыз.
    3. Арнайыға өту диалогтық терезесінде Бос орындар опциясын таңдап, Жарайды түймесін басыңыз. Бұл А бағанындағы пайдаланылған ауқымдағы бос ұяшықтарды таңдайды.
    4. Кез келген таңдалған ұяшықты тінтуірдің оң жақ түймешігімен басып, контекстік мәзірден Жою... пәрменін таңдаңыз.
    5. Жою тілқатысу терезесінде Толық жол параметрін таңдап, OK түймесін басыңыз.

    Дайын! А бағанында мәні жоқ жолдар енді жоқ:

    Дәл осындай нәтижеге негізгі бағандағы бос орындарды сүзу арқылы қол жеткізуге болады.

    Деректердің астындағы қосымша жолдарды жою әдісі

    Кейде толығымен бос көрінетін жолдарда кейбір пішімдер немесе басып шығарылмайтын таңбалар болуы мүмкін. Деректер бар соңғы ұяшық шынымен жұмыс парағындағы соңғы пайдаланылған ұяшық екенін тексеру үшін Ctrl + End пернелерін басыңыз. Бұл сізді деректеріңіздің астындағы көрнекі түрде бос жолға апарса, Excel тұрғысынан бұл жол бос емес. Мұндай жолдарды жою үшін мынаны орындаңызкелесі:

    1. Деректердің астындағы бірінші бос жолдың тақырыбын таңдау үшін оны басыңыз.
    2. Ctrl + Shift + End пернелерін басыңыз. Бұл пішімдерді, бос орындарды және басып шығарылмайтын таңбаларды қамтитын барлық жолдарды таңдайды.
    3. Таңдауды тінтуірдің оң жақ түймешігімен басып, Жою... > Толық жолды таңдаңыз.

    Салыстырмалы түрде шағын деректер жинағы болса, деректеріңіздің астындағы барлық бос жолдардан құтылғыңыз келуі мүмкін, мысалы: айналдыруды жеңілдету үшін. Excel бағдарламасында пайдаланылмаған жолдарды жоюдың ешқандай жолы болмаса да, оларды жасыруға кедергі болатын ештеңе жоқ. Міне:

    1. Деректері бар соңғы жолдың астындағы жолды оның тақырыбын басу арқылы таңдаңыз.
    2. Таңдауды парақтың соңғы жолына дейін кеңейту үшін Ctrl + Shift + Төмен көрсеткі пернелер тіркесімін басыңыз. .
    3. Таңдалған жолдарды жасыру үшін Ctrl + 9 пернелерін басыңыз. Немесе таңдауды тінтуірдің оң жақ түймешігімен басып, Жасыру түймесін басыңыз.

    жолдарды көрсету үшін бүкіл парақты таңдау үшін Ctrl + A пернелер тіркесімін басыңыз, содан кейін барлық жолдарды қайтадан көрінетін ету үшін Ctrl + Shift + 9 пернелер тіркесімін басыңыз.

    Сол сияқты деректердің оң жағында пайдаланылмаған бос бағандарды жасыруға болады. Егжей-тегжейлі қадамдарды тек жұмыс аймағы көрінетіндей етіп Excel бағдарламасында пайдаланылмаған жолдарды жасыру бөлімін қараңыз.

    Excel бағдарламасындағы бос жолдарды жоюдың ең жылдам жолы

    Алдыңғы мысалдарды оқығанда, солай емес пе? Біз жаңғақты жару үшін балға қолданып жатқандай сезінесіз бе? Мұнда, Ablebits-те біз мұны істемегенді жөн көреміз

    Майкл Браун - бағдарламалық құралдарды пайдалана отырып, күрделі процестерді жеңілдетуге құмарлығы бар арнайы технология әуесқойы. Технологиялық индустрияда он жылдан астам тәжірибесі бар ол Microsoft Excel және Outlook, сондай-ақ Google Sheets және Docs бағдарламаларында өз дағдыларын жетілдірді. Майклдың блогы өз білімі мен тәжірибесін басқалармен бөлісуге, өнімділік пен тиімділікті арттыруға арналған оңай орындалатын кеңестер мен оқулықтар беруге арналған. Сіз тәжірибелі кәсіпқой болсаңыз да, жаңадан бастаушы болсаңыз да, Майклдың блогы осы маңызды бағдарламалық құралдарды барынша пайдалану үшін құнды түсініктер мен практикалық кеңестер ұсынады.