Како избрисати празне редове у Екцелу помоћу ВБА, формула и Повер Куери-а

  • Деле Ово
Michael Brown

Овај водич ће вас научити неколико једноставних трикова да безбедно избришете више празних редова у Екцел-у без губљења иједне информације .

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

    Како НЕ уклонити празне редове у Екцел-у

    Постоји неколико различити начини за брисање празних редова у Екцел-у, али изненађујуће многи онлајн ресурси се држе најопаснијег, односно Пронађи &амп; Изаберите &гт; Иди на специјални &гт; Празни елементи .

    Шта није у реду са овом техником? Он бира сва празна поља у опсегу, и као резултат тога ћете на крају избрисати све редове који садрже чак и једну празну ћелију.

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

    У крајњој линији: ако не желите да забрљате своје податке, никада не бришите празно редове избором празних ћелија. Уместо тога, користите један од разматраних приступа о којима се расправљачине ствари сложенијим него што треба да буду. Дакле, направили смо корак даље и направили руту са два клика за брисање празних редова у Екцел-у.

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

    1. На картици Алатке за Аблебитс , у групи Трансформација кликните на Избриши празнине &гт; Празни редови :
    2. Додатак ће вас обавестити да ће сви празни редови бити уклоњени са активног радног листа и затражиће потврду. Кликните на ОК и за тренутак ће сви празни редови бити елиминисани.

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

    Да бисте пронашли још сјајних функција укључених у наш Ултимате Суите фор Екцел, добродошли сте да преузмете пробну верзију.

    Хвала вам на читању и надам се да се видимо на нашем блогу следеће недеље!

    испод.

    Како уклонити празне редове у Екцел-у помоћу ВБА

    Екцел ВБА може поправити много ствари, укључујући више празних редова. Најбоља ствар у вези са овим приступом је што не захтева никакве вештине програмирања. Једноставно, узмите један од доле наведених кодова и покрените га у свом Екцел-у (упутства су овде).

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

    Овај ВБА код тихо брише све празне редова у изабраном опсегу, без приказивања поруке или дијалога кориснику.

    За разлику од претходне технике, макро брише линију ако је цео ред празан . Ослања се на функцију радног листа ЦоунтА да би добио број непразних ћелија у свакој линији, а затим брише редове са нултим бројем.

    Публиц Суб ДелетеБланкРовс() Затамни СоурцеРанге Ас Ранге Дим ЕнтиреРов Ас Ранге Постави СоурцеРанге = Апплицатион. Одабир ако није (СоурцеРанге ис Нотхинг ) Тада Апплицатион.СцреенУпдатинг = Фалсе Фор И = СоурцеРанге.Ровс.Цоунт до 1 корак -1 Сет ЕнтиреРов = СоурцеРанге.Целлс(И, 1).ЕнтиреРов Иф Апплицатион.ВорксхеетФунцтион.ЦоунтА(ЕнтиреРов) = 0 Онда ЕнтиреРов.Делете Енд Иф Нект Апплицатион.СцреенУпдатинг = Труе Енд Иф Енд Суб

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

    Јавно Суб РемовеБланкЛинес() Дим СоурцеРанге Ас Ранге Дим ЕнтиреРов Ас Ранге Он Еррор Настави Нект Сет СоурцеРанге = Апплицатион.ИнпутБок( _„Изаберите опсег:“ , „Избриши празне редове“ , _ Апплицатион.Селецтион.Аддресс, Типе :=8) Ако није (СоурцеРанге ис Нотхинг ) Онда Апплицатион.СцреенУпдатинг = Фалсе Фор И = СоурцеРанге.Ровс.Цоунт То 1 Степ - 1 Подесите ЕнтиреРов = СоурцеРанге.Целлс(И, 1).ЕнтиреРов Иф Апплицатион.ВорксхеетФунцтион.ЦоунтА(ЕнтиреРов) = 0 Онда ЕнтиреРов.Делете Енд Иф Нект Апплицатион.СцреенУпдатинг = Труе Енд Иф Енд Суб

    По покретању, макро приказује у следећем пољу за унос, изаберете циљни опсег и кликнете на ОК:

    У тренутку, сви празни редови у изабраном опсегу ће бити елиминисани, а преостали ће се померити нагоре:

    Макро 2. Избришите све празне редове у програму Екцел

    Да бисте уклонили све празне редове на активном листу , одредите последњи ред коришћеног опсега (тј. ред који садржи последња ћелија са подацима), а затим идите нагоре бришући линије за које ЦоунтА враћа нулу:

    Суб ДелетеАллЕмптиРовс() Дим ЛастРовИндек Ас Интегер Дим РовИндек Ас Интегер Дим УседРнг Ас Ранге Сет УседРнг = Ацтив еСхеет.УседРанге ЛастРовИндек = УседРнг.Ров - 1 + УседРнг.Ровс.Цоунт Апплицатион.СцреенУпдатинг = Фалсе Фор РовИндек = ЛастРовИндек То 1 Степ -1 Иф Апплицатион.ЦоунтА(Ровс(РовИндек)) = 0 Тхен Ровс).ДелетеИндек Ако Нект РовИндек Апплицатион.СцреенУпдатинг = Труе Енд Суб

    Макро 3. Избриши ред ако је ћелија празна

    Са овим макроом можете избрисати цео ред ако је ћелија у наведенојколона је празна.

    Следећи код проверава празна колона А. Да бисте избрисали редове на основу друге колоне, замените "А" одговарајућим словом.

    Суб ДелетеРовИфЦеллБланк() У случају грешке Настави следеће колоне( "А" ).СпециалЦеллс(клЦеллТипеБланкс).ЕнтиреРов.Делете Енд Суб

    Као у ствари, макро користи функцију Иди на посебно &гт; Празнине , а исти резултат можете постићи тако што ћете ове кораке извршити ручно.

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

    Како уклонити празне редове у Екцел-у помоћу ВБА

    Да бисте избрисали празне редове у Екцел-у помоћу макроа, морате може или да убаци ВБА код у своју радну свеску или да покрене макро из наше радне свеске.

    Додајте макро у своју радну свеску

    Да бисте уметнули макро у радну свеску, извршите ове кораке:

    1. Отворите радни лист на којем желите да избришете празне редове.
    2. Притисните Алт + Ф11 да бисте отворили Висуал Басиц Едитор.
    3. У левом окну кликните десним тастером миша Ова радна свеска , а затим кликните на Инсерт &гт; Модуле .
    4. Налепите код у прозор кода.
    5. Притисните Ф5 да покренете макро.

    За детаљна упутства корак по корак погледајте Како да уметнете и користите ВБА у Екцел-у.

    Покрените макро из наше радне свеске

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

    ДелетеБланкРовс - уклања празне редове у тренутно изабраном опсегу.

    РемовеБланкЛинес - брише празне редове и помера нагоре у опсегу који изаберете након покретања макроа.

    ДелетеАллЕмптиРовс - брише све празне редове на активном листу.

    ДелетеРовИфЦеллБланк – брише ред ако је ћелија у одређеној колони празна.

    Да бисте покренули макро у свом Екцел-у, урадите следеће:

    1. Отворите преузета радна свеска и омогућите макрое ако се то од вас затражи.
    2. Отворите своју радну свеску и идите до радног листа који вас занима.
    3. У свом радном листу притисните Алт + Ф8, изаберите макро и кликните на Покрени .

    Формула за брисање празних редова у Екцел-у

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

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

    Где је А2 прва, а Д2 последња коришћена ћелија првог реда података.

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

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

    Логика формуле је очигледна: бројите непразне ћелије помоћу функције ЦОУНТА и користите ИФ наредбу да бисте вратили „Празно“ за нулти број, „Није празно“ у супротном .

    Ину ствари, можете лепо да урадите без ИФ:

    =COUNTA(A2:D2)=0

    У овом случају, формула ће вратити ТРУЕ за празне редове и ФАЛСЕ за непразне редове.

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

    1. Изаберите било коју ћелију у реду заглавља и кликните на Сортирај &амп; Филтер &гт; Филтер на картици Почетна , у Формати Ово ће додати стрелице падајућег менија за филтрирање свим ћелијама заглавља.
    2. Кликните на стрелицу у заглављу колоне формуле, опозовите избор (Изабери све), изаберите Празно и кликните на ОК :
    3. Изабери све филтриране редове . За ово, кликните на прву ћелију првог филтрираног реда и притисните Цтрл + Схифт + Енд да бисте проширили избор на последњу ћелију последњег филтрираног реда.
    4. Кликните десним тастером миша на избор, изаберите Избришите ред из контекстног менија, а затим потврдите да заиста желите да избришете целе редове:
    5. Уклоните филтер притиском на Цтрл + Схифт + Л . Или кликните на картицу Почетна &гт; Сортирај &амп; Филтер &гт; Филтер .
    6. Избришите колону са формулом јер вам више не треба.

    То је то! Као резултат, имамо чисту табелу без празних линија, али су све информације сачуване:

    Савет. Уместо да бришете празне редове, можете копирати непразне редове на неко друго место. Да бисте то урадили, филтрирајте редове „Није празне“, изаберите их и притисните Цтрл + Ц да бисте копирали. Затим пређите нана другом листу, изаберите горњу леву ћелију одредишног опсега и притисните Цтрл + В да бисте налепили.

    Како уклонити празне редове у Екцел-у помоћу Повер Куери-а

    У Екцел 2016 и Екцел 2019, постоји још један начин за брисање празних редова - коришћењем функције Повер Куери. У Екцел 2010 и Екцел 2013 може се преузети као додатак.

    Важна напомена! Овај метод функционише са следећим упозорењем: Повер Куери конвертује изворне податке у Екцел табелу и мења форматирање као што су боја попуне, ивице и неки формати бројева. Ако вам је форматирање оригиналних података важно, онда је боље да изаберете неки други начин да уклоните празне редове у Екцел-у.

    1. Изаберите опсег у којем желите да избришете празне редове.
    2. Идите на картицу Подаци &гт; Преузми &амп; Трансформирајте групу и кликните на Из табеле/опсега . Ово ће учитати вашу табелу у Повер Куери Едитор.
    3. На картици Почетна у Повер Куери Едитору кликните на Уклони редове &гт; Уклони празне редове .
    4. Кликните на Затвори &амп; Лоад Ово ће учитати резултујућу табелу на нови радни лист и затворити уређивач упита.

    У резултату ових манипулација, добио сам следећу табелу без празних редова, али са пар гадних промена - формат валуте је изгубљен и датуми су приказани у подразумеваном формату уместо прилагођеног:

    Како избрисати редове акоћелија у одређеној колони је празна

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

    Као пример, уклонимо све редове у којима је ћелија у колони А празна :

    1. Изаберите кључну колону, колону А у нашем случају.
    2. На картици Почетна кликните на Пронађи &амп; Изаберите &гт; Иди на специјално . Или притисните Ф5 и кликните на дугме Посебно... .
    3. У дијалогу Иди на специјално , изаберите Празне тачке и кликните на ОК . Ово ће изабрати празне ћелије у коришћеном опсегу у колони А.
    4. Кликните десним тастером миша на било коју изабрану ћелију и изаберите Избриши... из контекстног менија.
    5. У дијалогу Избриши изаберите Цео ред и кликните на ОК.

    Готово! Редови који немају вредност у колони А више нису ту:

    Исти резултат се може постићи филтрирањем празнина у кључној колони.

    Како уклонити додатне редове испод података

    Понекад, редови који изгледају потпуно празни могу заправо да садрже неке формате или знакове који се не могу штампати. Да бисте проверили да ли је последња ћелија са подацима заиста последња коришћена ћелија на вашем радном листу, притисните Цтрл + Енд . Ако вас је ово довело до визуелно празног реда испод ваших података, у смислу Екцел-а, тај ред није празан. Да бисте уклонили такве редове, урадитеследеће:

    1. Кликните на заглавље првог празног реда испод ваших података да бисте га изабрали.
    2. Притисните Цтрл + Схифт + Енд . Ово ће изабрати све редове који садрже било шта укључујући формате, размаке и знакове који се не штампају.
    3. Кликните десним тастером миша на избор и изаберите Избриши... &гт; Цео ред.

    Ако имате релативно мали скуп података, можда ћете желети да се решите свих празних редова испод ваших података, нпр. да бисте олакшали померање. Иако не постоји начин да избришете неискоришћене редове у Екцел-у, не постоји ништа што би вас спречило да их сакријете . Ево како:

    1. Изаберите ред испод последњег реда са подацима кликом на његово заглавље.
    2. Притисните Цтрл + Схифт + стрелица надоле да бисте проширили избор на последњи ред на листу .
    3. Притисните Цтрл + 9 да бисте сакрили изабране редове. Или кликните десним тастером миша на избор, а затим кликните на Сакриј .

    Да бисте открили редове , притисните Цтрл + А да бисте изабрали цео лист, а затим притисните Цтрл + Схифт + 9 да бисте поново учинили све линије видљивим.

    На сличан начин можете сакрити неискоришћене празне колоне десно од података. За детаљне кораке погледајте Сакриј неискоришћене редове у Екцел-у тако да се види само радна област.

    Најбржи начин да уклоните празне редове у Екцел-у

    Када сте читали претходне примере, зар не осећате се као да користимо маљ да разбијемо орах? Овде, у Аблебитс-у, радије не бисмо

    Мајкл Браун је посвећен технолошки ентузијаста са страшћу за поједностављење сложених процеса помоћу софтверских алата. Са више од деценије искуства у технолошкој индустрији, усавршио је своје вештине у Мицрософт Екцел-у и Оутлоок-у, као и у Гоогле табеле и документима. Мајклов блог посвећен је дељењу свог знања и стручности са другима, пружајући једноставне савете и упутства за побољшање продуктивности и ефикасности. Без обзира да ли сте искусан професионалац или почетник, Мајклов блог нуди вредне увиде и практичне савете како да на најбољи начин искористите ове основне софтверске алате.