Kā dzēst tukšās rindas programmā Excel, izmantojot VBA, formulas un Power Query

  • Dalīties Ar Šo
Michael Brown

Šajā pamācībā jūs uzzināsiet dažus vienkāršus trikus, kā droši dzēst vairākas tukšas rindas programmā Excel, nezaudējot ne mazumiņu informācijas. .

Tukšas rindas programmā Excel ir problēma, ar kuru mēs visi reizēm saskaramies, jo īpaši tad, kad apvienojam datus no dažādiem avotiem vai importējam informāciju no citur. Tukšas rindas var radīt lielu haosu jūsu darblapās dažādos līmeņos, un to dzēšana manuāli var būt laikietilpīgs un uz kļūdām tendēts process. Šajā rakstā uzzināsiet dažas vienkāršas un uzticamas metodes, lai novērstu tukšās rindas.darblapas.

    Kā NAV jānoņem tukšās rindas programmā Excel

    Ir vairāki dažādi veidi, kā dzēst tukšās rindas programmā Excel, taču pārsteidzoši daudzos tiešsaistes resursos tiek izmantots visbīstamākais veids, proti. Atrast & amp; atlasīt > Pārejiet uz īpašo > Tukšas preces .

    Kas šajā paņēmienā ir nepareizi? Tas atlasa visas tukšās detaļas diapazonā, un tādējādi galu galā tiks dzēstas visas rindas, kurās ir tikai viena tukša šūna.

    Tālāk attēlā pa kreisi ir redzama sākotnējā tabula, bet pa labi - iegūtā tabula. Iegūtajā tabulā pazudušas visas nepilnās rindas, pat 10. rinda, kurā trūka tikai datuma D slejā:

    Secinājums: ja nevēlaties sabojāt datus, nekad neizdzēsiet tukšas rindas, izvēloties tukšas šūnas. Tā vietā izmantojiet kādu no tālāk aprakstītajām pārdomātākajām metodēm.

    Kā noņemt tukšās rindas programmā Excel, izmantojot VBA

    Excel VBA var novērst daudz ko, tostarp vairākas tukšas rindas. Vislabāk, ka šai pieejai nav nepieciešamas programmēšanas prasmes. Vienkārši paņemiet vienu no tālāk minētajiem kodiem un palaidiet to savā programmā Excel (norādījumi ir šeit).

    Makro 1. Tukšo rindu dzēšana atlasītajā diapazonā

    Šis VBA kods klusi dzēš visas tukšās rindas atlasītajā diapazonā, nerādot lietotājam nekādu ziņojumu vai dialoglodziņu.

    Atšķirībā no iepriekšējā paņēmiena makro dzēš rindu, ja visa rinda ir tukša . Tā izmanto darblapas funkciju CountA, lai iegūtu katrā rindā esošo šūnu skaitu, kas nav tukšas, un pēc tam dzēš rindas ar nulles skaitli.

    Public Sub DeleteBlankRows() Dim SourceRange As Range Dim EntireRow As Range Set SourceRange = Application.Selection If Not (SourceRange Is Nothing ) Then Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Step -1 Set EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountA(EntireRow) = 0 Then EntireRow.Delete End If Next Application.ScreenUpdating= True End If End If End Sub

    Lai dotu lietotājam iespēju atlasīt mērķa diapazonu pēc makra palaišanas , izmantojiet šo kodu:

    Public Sub RemoveBlankLines() Dim SourceRange As Range Dim EntireRow As Range On Error Resume Next Set SourceRange = Application.InputBox( _ "Select a range:" , "Delete Blank Rows" , _ Application.Selection.Address, Type :=8) If Not (SourceRange Is Nothing ) Then Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Step -1 Set EntireRow = SourceRange.Cells(I, 1).EntireRow IfApplication.WorksheetFunction.CountA(EntireRow) = 0 Then EntireRow.Delete End If Next Application.ScreenUpdating = True End If End If End Sub

    Palaižot makro, tiek parādīts šāds ievades logs, atlasīts mērķa diapazons un noklikšķināts uz Labi:

    Pēc brīža visas tukšās rindas izvēlētajā diapazonā tiks likvidētas, un atlikušās rindas tiks pārvietotas uz augšu:

    Makro 2. Dzēst visas tukšās rindas programmā Excel

    Lai noņemtu visas tukšās rindas par aktīvā lapa , noteikt izmantotā diapazona pēdējo rindu (t. i., rindu, kurā ir pēdējā šūna ar datiem) un pēc tam virzīties uz augšu, dzēšot rindas, kurām CountA atgriež nulli:

    Sub DeleteAllEmptyRows() Dim LastRowIndex As Integer Dim RowIndex As Integer Dim UsedRng As Range Set UsedRng = ActiveSheet.UsedRange LastRowIndex = UsedRng.Row - 1 + UsedRng.Rows.Count Application.ScreenUpdating = False For RowIndex = LastRowIndex To 1 Step -1 If Application.CountA(Rows(RowIndex)) = 0 Then Rows(RowIndex).Delete End If Next RowIndex Application.ScreenUpdating = True End Sub

    Makro 3. Dzēst rindu, ja šūna ir tukša

    Izmantojot šo makro, varat dzēst visu rindu, ja šūna norādītajā slejā ir tukša.

    Lai dzēstu rindas, pamatojoties uz citu kolonnu, aizstāt "A" ar atbilstošu burtu.

    Sub DeleteRowIfCellBlank() On Error Resume Next Columns( "A" ).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

    Faktiski makroprogrammā tiek izmantots Pārejiet uz īpašo > Tukšas preces funkciju, un tādu pašu rezultātu var panākt, veicot šos soļus manuāli.

    Piezīme. Makro dzēš tukšās rindas. visa lapa , tāpēc, to lietojot, esiet ļoti uzmanīgi. Piesardzības labad pirms šī makra palaišanas būtu lietderīgi izveidot darblapas dublējumu.

    Kā noņemt tukšās rindas programmā Excel, izmantojot VBA

    Lai izdzēstu tukšās rindas programmā Excel, izmantojot makro, varat ievietot VBA kodu savā darbgrāmatā vai palaist makro no mūsu parauga darbgrāmatas.

    Makro pievienošana darbgrāmatā

    Lai darba burtnīcā ievietotu makro, veiciet šādas darbības:

    1. Atveriet darblapu, kurā vēlaties dzēst tukšās rindas.
    2. Nospiediet Alt + F11, lai atvērtu Visual Basic redaktoru.
    3. Kreisajā panelī ar peles labo pogu noklikšķiniet uz Šīdarbgrāmata un pēc tam noklikšķiniet uz Ievietot > Modulis .
    4. Ievietojiet kodu logā Kods.
    5. Nospiediet F5, lai palaistu makro.

    Sīki izstrādātus norādījumus soli pa solim skatiet sadaļā Kā ievietot un izmantot VBA programmā Excel.

    Palaist makro no mūsu darbgrāmatas parauga

    Lejupielādējiet mūsu parauga darbgrāmatu ar tukšo rindu dzēšanas makroekrāniem un no tās palaidiet vienu no šiem makroekrāniem:

    DeleteBlankRows - dzēš tukšās rindas pašreiz atlasītajā diapazonā.

    RemoveBlankLines - dzēš tukšās rindas un pārvieto uz augšu diapazonā, ko izvēlaties pēc makra palaišanas.

    DeleteAllEmptyRows - dzēš visas aktīvās lapas tukšās rindas.

    DeleteRowIfCellBlank - dzēš rindu, ja konkrētā slejā šūna ir tukša.

    Lai palaistu makroprogrammu programmā Excel, veiciet šādus darbības:

    1. Atveriet lejupielādēto darbgrāmatu un iespējojiet makrosistēmas, ja tiek pieprasīts.
    2. Atveriet savu darbgrāmatu un pāriet uz interesējošo darblapu.
    3. Darba lapā nospiediet Alt + F8, atlasiet makro un noklikšķiniet uz Palaist .

    Formula tukšo rindu dzēšanai programmā Excel

    Ja vēlaties redzēt, kas tiek dzēsts, izmantojiet šādu formulu, lai identificētu tukšās rindas:

    =IF(COUNTA(A2:D2)=0, "Tukšs", "Nav tukšs")

    kur A2 ir pirmā un D2 ir pirmā datu rindas pēdējā izmantotā šūna.

    Ievadiet šo formulu E2 vai jebkurā citā tukšā 2. rindas slejā un velciet aizpildīšanas rokturi, lai kopētu formulu uz leju.

    Rezultātā tukšajās rindās būs "Tukšs", bet rindās, kurās ir vismaz viena šūna ar datiem, būs "Nav tukšs":

    Formulas loģika ir acīmredzama: ar funkciju COUNTA saskaitāt šūnas, kas nav tukšas, un izmantojiet IF paziņojumu, lai atgrieztu "Tukšs", ja to skaits ir nulle, un "Nav tukšs" pretējā gadījumā.

    Patiesībā var iztikt arī bez IF:

    =COUNTA(A2:D2)=0

    Šajā gadījumā formula atgriež TRUE, ja rindas ir tukšas, un FALSE, ja rindas nav tukšas.

    Kad formula ir izveidota, veiciet šādas darbības, lai dzēstu tukšās rindas:

    1. Atlasiet jebkuru šūnas aili galvenes rindā un noklikšķiniet uz Atlasīt & amp; Filtrēt > Filtrs par Sākums cilnē Formāti Tas pievienos filtrēšanas nolaižamās bultas visām galvenes šūnām.
    2. Noklikšķiniet uz bultiņas formulas kolonnas galvenē, noņemiet izvēles rūtiņu (Atlasīt visus), atlasiet Tukšs un noklikšķiniet uz LABI :
    3. Atlasiet visas filtrētās rindas. Šim nolūkam noklikšķiniet uz pirmās filtrētās rindas pirmās šūnas un nospiediet Ctrl + Shift + End, lai paplašinātu atlasi līdz pēdējās filtrētās rindas pēdējai šūnai.
    4. Ar peles labo pogu noklikšķiniet uz atlases, izvēlieties Dzēst rindu no konteksta izvēlnes un pēc tam apstipriniet, ka patiešām vēlaties dzēst visas rindas:
    5. Noņemiet filtru, nospiežot Ctrl + Shift + L . Vai arī noklikšķiniet uz Sākums cilne> Atlasīt & amp; Filtrēt > Filtrs .
    6. Izdzēsiet kolonnu ar formulu, jo tā vairs nav vajadzīga.

    Tas ir viss! Rezultātā mums ir tīra tabula bez tukšām rindām, bet visa informācija ir saglabāta:

    Padoms. Tā vietā, lai dzēstu tukšās rindas, varat kopēt nepūtas rindas Lai to izdarītu, filtrējiet rindas "Nav tukšas", atlasiet tās un nospiediet Ctrl + C, lai kopētu. Pēc tam pārslēdziet uz citu lapu, atlasiet mērķa diapazona augšējo kreiso šūnu un nospiediet Ctrl + V, lai ielīmētu.

    Kā noņemt tukšās rindas programmā Excel, izmantojot Power Query

    Programmās Excel 2016 un Excel 2019 ir vēl viens veids, kā dzēst tukšās rindas, - izmantojot funkciju Power Query. Programmās Excel 2010 un Excel 2013 to var lejupielādēt kā papildinājumu.

    Svarīga piezīme! Šī metode darbojas ar šādu brīdinājumu: Power Query konvertē avota datus Excel tabulā un maina formatējumu, piemēram, aizpildījuma krāsu, apmales un dažus skaitļu formātus. Ja jums ir svarīgs sākotnējo datu formatējums, tad labāk izvēlieties kādu citu veidu, kā noņemt tukšās rindas programmā Excel.

    1. Atlasiet diapazonu, kurā vēlaties dzēst tukšās rindas.
    2. Dodieties uz Dati cilne> Iegūt & amp; pārveidot grupu un noklikšķiniet uz No tabulas/ diapazona . Tas ielādēs jūsu tabulu Power Query Editor.
    3. Par Sākums Power Query Editor cilnē noklikšķiniet uz Rindu noņemšana > Tukšo rindu noņemšana .
    4. Noklikšķiniet uz Aizvērt & amp; ielādēt Tas ielādēs iegūto tabulu jaunā darblapā un aizvērs vaicājumu redaktoru.

    Šo manipulāciju rezultātā es saņēmu šādu tabulu bez tukšām rindiņām, bet ar pāris nepatīkamām izmaiņām - valūtas formāts ir zaudēts un datumi tiek parādīti noklusējuma formātā, nevis pielāgotajā formātā:

    Kā dzēst rindas, ja šūna noteiktā slejā ir tukša

    Šīs pamācības sākumā mēs brīdinājām jūs par tukšo rindu dzēšanu, izvēloties tukšās rindas. Tomēr šī metode ir noderīga, ja vēlaties dzēst rindas, pamatojoties uz tukšie lauki konkrētā slejā. .

    Piemēram, noņemsim visas rindas, kurās A slejas šūna ir tukša:

    1. Atlasiet galveno kolonnu, mūsu gadījumā A kolonnu.
    2. Par Sākums noklikšķiniet uz cilnes Atrast & amp; atlasīt > Pārejiet uz īpašo . Vai arī nospiediet F5 un noklikšķiniet uz Īpaša... pogu.
    3. In the Pārejiet uz īpašo dialoglodziņā izvēlieties Tukšas preces un noklikšķiniet uz LABI Tas atlasīs tukšās šūnas izmantotajā A slejas diapazonā.
    4. Ar peles labo pogu noklikšķiniet uz jebkuras atlasītās šūnas un izvēlieties Dzēst... no konteksta izvēlnes.
    5. In the Dzēst dialoglodziņā izvēlieties Visa rinda un noklikšķiniet uz Labi.

    Paveikts! Rindas, kurām A slejā nav vērtības, vairs nav:

    To pašu rezultātu var panākt, filtrējot tukšos laukus atslēgas slejā.

    Kā noņemt papildu rindas zem datiem

    Dažreiz rindas, kas izskatās pilnīgi tukšas, patiesībā var saturēt dažus formātus vai nedrukājamas rakstzīmes. Lai pārbaudītu, vai pēdējā šūna ar datiem patiešām ir pēdējā izmantotā šūna darblapā, nospiediet taustiņus Ctrl + End . Ja tas ir novedis pie vizuāli tukšas rindas zem jūsu datiem, Excel izpratnē šī rinda nav tukša. Lai noņemtu šādas rindas, veiciet šādus darbības:

    1. Noklikšķiniet uz pirmās tukšās rindas galvenes zem jūsu datiem, lai to atlasītu.
    2. Nospiediet Ctrl + Shift + End . Tādējādi tiks atlasītas visas rindas, kurās ir kaut kas, tostarp formāti, atstarpes un nerakstītas rakstzīmes.
    3. Ar peles labo pogu noklikšķiniet uz atlases un izvēlieties Dzēst... > Visa rinda.

    Ja jums ir salīdzinoši neliels datu kopums, iespējams, vēlēsieties atbrīvoties no visām tukšajām rindām zem datiem, piemēram, lai atvieglotu ritināšanu. Lai gan programmā Excel nav iespējams dzēst neizmantotās rindas, nekas neliedz jums to darīt. slēptuve Lūk, kā:

    1. Atlasiet rindu zem pēdējās rindas ar datiem, noklikšķinot uz tās galvenes.
    2. Nospiediet Ctrl + Shift + bultiņa uz leju, lai paplašinātu atlasi līdz lapas pēdējai rindai.
    3. Lai paslēptu atlasītās rindas, nospiediet Ctrl + 9. Vai arī noklikšķiniet uz atlases ar peles labo pogu un pēc tam noklikšķiniet uz Paslēpt .

    Uz atbloķēt rindas , nospiediet Ctrl + A, lai atlasītu visu lapu, un pēc tam nospiediet Ctrl + Shift + 9, lai visas līnijas atkal būtu redzamas.

    Līdzīgā veidā varat paslēpt neizmantotās tukšās kolonnas datu labajā pusē. Sīkāku informāciju skatiet sadaļā Paslēpt neizmantotās rindas programmā Excel, lai būtu redzama tikai darba zona.

    Ātrākais veids, kā noņemt tukšās rindas programmā Excel

    Vai, lasot iepriekšējos piemērus, neradās sajūta, ka mēs izmantojam āmuru, lai salauztu riekstu? Šeit, uzņēmumā Ablebits, mēs izvēlamies nedarīt lietas sarežģītākas, nekā tas ir nepieciešams. Tāpēc mēs spērām soli tālāk un izveidojām divu klikšķu maršrutu, lai Excel programmā dzēstu tukšās rindas.

    Ja jūsu lentei ir pievienots komplekts Ultimate Suite, šeit ir aprakstīts, kā varat dzēst visas tukšās rindas darblapā:

    1. Par Ablebits rīki cilnē Pārveidot grupu, noklikšķiniet uz Dzēst tukšos laukumus > Tukšas rindas :
    2. Papildprogramma jūs informēs, ka no aktīvās darblapas tiks noņemtas visas tukšās rindas, un lūgs apstiprināt. Noklikšķiniet uz Labi, un pēc brīža visas tukšās rindas tiks noņemtas.

    Kā redzams zemāk redzamajā ekrānšāviņā, mēs esam noņēmuši tikai pilnīgi tukšas rindas kurās nav nevienas šūnas ar datiem:

    Lai uzzinātu vairāk par lieliskajām funkcijām, kas iekļautas mūsu programmā Ultimate Suite for Excel, varat lejupielādēt izmēģinājuma versiju.

    Paldies, ka izlasījāt, un ceru jūs redzēt mūsu blogā nākamnedēļ!

    Maikls Brauns ir īpašs tehnoloģiju entuziasts, kura aizraušanās ir sarežģītu procesu vienkāršošana, izmantojot programmatūras rīkus. Ar vairāk nekā desmit gadu pieredzi tehnoloģiju nozarē viņš ir pilnveidojis savas prasmes programmās Microsoft Excel un Outlook, kā arī Google izklājlapās un dokumentos. Maikla emuārs ir veltīts tam, lai dalītos savās zināšanās un pieredzē ar citiem, sniedzot viegli izpildāmus padomus un pamācības produktivitātes un efektivitātes uzlabošanai. Neatkarīgi no tā, vai esat pieredzējis profesionālis vai iesācējs, Maikla emuārs piedāvā vērtīgas atziņas un praktiskus padomus, kā maksimāli izmantot šos būtiskos programmatūras rīkus.