Како да избришете празни редови во Excel со VBA, формули и Power Query

  • Споделете Го Ова
Michael Brown

Овој туторијал ќе ве научи на неколку едноставни трикови за безбедно бришење на повеќе празни редови во Excel без губење на ниту еден дел од информациите .

Празните редови во Excel се проблем со кој сите се соочуваме одвреме-навреме, особено кога се комбинираат податоци од различни извори или се увезуваат информации од некое друго место. Празните линии може да предизвикаат многу хаос во вашите работни листови на различни нивоа, а нивното рачно бришење може да биде процес кој одзема многу време и е склон кон грешки. Во оваа статија, ќе научите неколку едноставни и сигурни методи за отстранување на празни места во вашите работни листови.

    Како НЕ да ги отстраните празните линии во Excel

    Постојат неколку различни начини за бришење празни линии во Excel, но изненадувачки многу онлајн ресурси се придржуваат до најопасниот, имено Најди & засилувач; Изберете > Оди во Специјални > Празни .

    Што не е во ред со оваа техника? Ги избира сите празни места во опсегот, и последователно ќе завршите со бришење на сите редови што содржат колку една празна ќелија.

    Сликата подолу ја прикажува оригиналната табела лево и добиената табела десно. И во добиената табела, сите нецелосни редови исчезнаа, дури и редот 10 каде што недостасуваше само датумот во колоната D:

    Заклучок: ако не сакате да ги расипете вашите податоци, никогаш не бришете празни редови со избирање празни ќелии. Наместо тоа, користете еден од разгледаните пристапи кои се дискутираниги прават работите посложени отколку што треба да бидат. Така, направивме чекор понатаму и создадовме рута со два кликнувања за бришење празни редови во Excel.

    Со Ultimate Suite додадена на вашата лента, еве како можете да ги избришете сите празни редови во работен лист:

    1. На картичката Ablebits Tools , во групата Transform , кликнете Избриши празни места > Празни редови :
    2. Додатокот ќе ве информира дека сите празни редови ќе се отстранат од активниот работен лист и ќе побараат потврда. Кликнете на OK, и за еден момент, сите празни редови ќе бидат елиминирани.

    Како што е прикажано на екранот подолу, отстранивме само апсолутно празни линии кои немаат ниту една ќелија со податоци:

    За да пронајдете со повеќе прекрасни функции вклучени во нашиот Ultimate Suite за Excel, добредојдени сте да преземете пробна верзија.

    Ви благодарам што прочитавте и се надевам дека ќе се видиме на нашиот блог следната недела!

    подолу.

    Како да отстраните празни редови во Excel со VBA

    Excel VBA може да поправи многу работи, вклучително и повеќе празни редови. Најдоброто нешто во врска со овој пристап е тоа што не бара никакви програмски вештини. Едноставно, земете еден од долунаведените кодови и стартувајте го во вашиот Excel (инструкциите се тука).

    Макро 1. Избришете празни линии во избраниот опсег

    Овој VBA код тивко ги брише сите празни редови во избраниот опсег, без да му се прикаже порака или дијалог прозорец на корисникот.

    За разлика од претходната техника, макрото брише линија ако целиот ред е празен . Се потпира на функцијата на работниот лист CountA за да го добие бројот на непразни ќелии во секоја линија, а потоа ги брише редовите со нула број.

    Public Sub DeleteBlankRows() Dim SourceRange as Range Dim EntireRow As Range Set SourceRange = Апликација. Изборот ако не е (SourceRange не е ништо ) Потоа Application.ScreenUpdating = False For I = SourceRange.Rows.Count to 1 Чекор -1 Поставете EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountAw) 0 Потоа EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    За да му дадете на корисникот можност да го избере целниот опсег по извршувањето на макрото , користете го овој код:

    Public Под."Изберете опсег:" , "Избриши празни редови" , _ Application.Selection.Address, тип :=8) Ако не (SourceRange is Nothing ) Тогаш Application.ScreenUpdating = False For I = SourceRange.Rows.Count to 1 Step - 1 Поставете 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() Затемни LastRowIndex како цел број затемнети RowIndex како цел број Dim UsedRng како опсег Постави UsedRng = Activ eSheet.UsedRange LastRowIndex = UsedRng.Row - 1 + UsedRng.Rows.Count Application.ScreenUpdating = False For RowIndex = LastRowIndex To 1 Step -1 If Application.CountA(Rows(RowIndex)) = 0 RowsIndex). Ако Next RowIndex Application.ScreenUpdating = True End Sub

    Macro 3. Избришете го редот ако ќелијата е празна

    Со ова макро, можете да избришете цел ред ако ќелијата во наведенатаколоната е празна.

    Следниот код ја проверува колоната А за празни места. За да избришете редови засновани на друга колона, заменете го „A“ со соодветна буква.

    Sub DeleteRowIfCellBlank() На грешка Продолжи со следните колони( „A“ ).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

    Како Всушност, макрото ја користи функцијата Оди во специјално > Празни и истиот резултат може да го постигнете со рачно извршување на овие чекори.

    Забелешка. Макрото ги брише празните редови во целиот лист , затоа ве молиме бидете многу внимателни кога го користите. Како мерка на претпазливост, можеби е паметно да направите резервна копија од работниот лист пред да го извршите ова макро.

    Како да ги отстраните празните линии во Excel со VBA

    За да избришете празни редови во Excel користејќи макро, можете може или да го вметне VBA-кодот во вашата работна книга или да изврши макро од нашиот примерок на работна книга.

    Додајте макро во вашата работна книга

    За да вметнете макро во вашата работна книга, направете ги овие чекори:

    1. Отворете го работниот лист каде што сакате да ги избришете празните редови.
    2. Притиснете Alt + F11 за да го отворите уредникот на Visual Basic.
    3. На левиот панел, кликнете со десното копче This Workbook , а потоа кликнете Insert > Module .
    4. Залепете го кодот во прозорецот Code.
    5. Притиснете F5 за да го извршите макрото.

    За детални инструкции чекор-по-чекор, погледнете Како да вметнете и користите VBA во Excel.

    Извршете макро од нашиот примерок на работна книга

    Преземете го нашиот примерокработна книга со макроа за бришење празни редови и стартувајте едно од следните макроа од таму:

    DeleteBlankRows - ги отстранува празните редови во тековно избраниот опсег.

    RemoveBlankLines - ги брише празните редови и се префрла нагоре во опсегот што ќе го изберете по извршувањето на макрото.

    DeleteAllEmptyRows - ги брише сите празни линии на активниот лист.

    DeleteRowIfCellBlank - брише ред ако ќелијата во одредена колона е празна.

    За да го извршите макрото во вашиот Excel, направете го следново:

    1. Отворете го преземена работна книга и овозможете ги макроата ако ви биде побарано.
    2. Отворете ја сопствената работна книга и одете до работниот лист од интерес.
    3. Во вашиот работен лист, притиснете Alt + F8, изберете го макрото и кликнете Изврши .

    Формула за бришење празни редови во Excel

    Во случај да сакате да видите што бришете, користете ја следнава формула за да ги идентификувате празните линии:

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

    Каде што A2 е првата и D2 е последната користена ќелија од првиот ред со податоци.

    Внесете ја оваа формула a во E2 или која било друга празна колона во редот 2 и повлечете ја рачката за пополнување за да ја копирате формулата надолу.

    Како резултат на тоа, ќе имате „Празно“ во празните редови и „Не празно“ во редовите кои содржат најмалку една ќелија со податоци:

    Логиката на формулата е очигледна: броите непразни ќелии со функцијата COUNTA и ја користите изјавата IF за да вратите „Празно“ за нула броење, „Не празно“ во спротивно .

    ВоВсушност, можеш убаво без IF:

    =COUNTA(A2:D2)=0

    Во овој случај, формулата ќе врати TRUE за празни линии и FALSE за непразни линии.

    Со формулата е поставена, направете ги овие чекори за да ги избришете празните линии:

    1. Изберете која било ќелија во редот за заглавие и кликнете Сортирај & засилувач; Филтер > Филтер на картичката Дома , во Формати Ова ќе ги додаде стрелките за паѓање за филтрирање на сите ќелии за заглавие.
    2. Кликнете на стрелката во заглавието на колоната на формулата, отштиклирајте (Избери ги сите), изберете Празно и кликнете OK :
    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. Одете во картичката Податоци > Преземи & Трансформирајте ја групата и кликнете Од табела/опсег . Ова ќе ја вчита вашата табела во Power Query Editor.
    3. На картичката Почетна на Уредувачот на Power Query, кликнете Отстрани редови > Отстрани празни редови .
    4. Кликнете на Затвори & засилувач; Вчитај Ова ќе ја вчита добиената табела во нов работен лист и ќе го затвори Уредувачот на барања.

    Како резултат на овие манипулации, ја добив следната табела без празни линии, но со неколку непријатни промени - форматот на валутата е изгубен и датумите се прикажуваат во стандардниот формат наместо прилагодениот:

    Како да се бришат редови акоќелијата во одредена колона е празна

    На почетокот на ова упатство, ве предупредивме да не ги отстранувате празните линии со избирање празни места. Сепак, овој метод е корисен ако сакате да избришете редови засновани на празни места во одредена колона .

    Како пример, да ги отстраниме сите редови каде што ќелијата во колоната А е празна :

    1. Изберете ја клучната колона, колона А во нашиот случај.
    2. На картичката Дома , кликнете Најди & засилувач; Изберете > Оди во специјално . Или притиснете F5 и кликнете на копчето Специјално... .
    3. Во дијалогот Оди во специјално , изберете Празни и кликнете OK . Ова ќе избере празни ќелии во користениот опсег во колоната А.
    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. Блогот на Мајкл е посветен на споделување на своето знаење и експертиза со другите, обезбедувајќи лесни за следење совети и упатства за подобрување на продуктивноста и ефикасноста. Без разлика дали сте искусен професионалец или почетник, блогот на Мајкл нуди вредни сознанија и практични совети за да го извлечете максимумот од овие основни софтверски алатки.