Kuinka poistaa tyhjät rivit Excelissä VBA: n, kaavojen ja Power Queryn avulla?

  • Jaa Tämä
Michael Brown

Tämä opetusohjelma opettaa sinulle muutamia yksinkertaisia temppuja, joilla voit poistaa useita tyhjiä rivejä Excelissä turvallisesti menettämättä yhtään tietoa. .

Tyhjät rivit Excelissä ovat ongelma, jonka me kaikki kohtaamme silloin tällöin, varsinkin kun yhdistelemme tietoja eri lähteistä tai tuomme tietoja jostain muualta. Tyhjät rivit voivat aiheuttaa paljon tuhoa työarkkeihisi eri tasoilla, ja niiden poistaminen manuaalisesti voi olla aikaa vievä ja virhealtis prosessi. Tässä artikkelissa opit muutamia yksinkertaisia ja luotettavia menetelmiä tyhjien rivien poistamiseksi osoitteestatyölehdet.

    Miten tyhjiä rivejä EI poisteta Excelissä

    On olemassa muutamia eri tapoja poistaa tyhjiä rivejä Excelissä, mutta yllättävän monet verkkolähteet pitävät kiinni vaarallisimmasta tavasta, nimittäin Etsi & valitse > Siirry erikoisohjelmaan > Aihiot .

    Mikä tässä tekniikassa on vikana? Se valitsee - kaikki aihiot alueella, ja näin ollen päädyt poistamaan kaikki rivit, jotka sisältävät edes yhden tyhjän solun.

    Alla olevassa kuvassa näkyy alkuperäinen taulukko vasemmalla ja tuloksena saatu taulukko oikealla. Tuloksena saadussa taulukossa kaikki epätäydelliset rivit ovat poissa, jopa rivi 10, josta puuttui vain päivämäärä sarakkeesta D:

    Lopputulos: jos et halua sotkea tietojasi, älä koskaan poista tyhjiä rivejä valitsemalla tyhjiä soluja. Käytä sen sijaan jotakin jäljempänä esitetyistä harkituista lähestymistavoista.

    Kuinka poistaa tyhjät rivit Excelissä VBA: lla

    Excel VBA voi korjata monia asioita, kuten useita tyhjiä rivejä. Parasta tässä lähestymistavassa on se, että se ei vaadi ohjelmointitaitoja. Ota yksinkertaisesti yksi alla olevista koodeista ja suorita se Excelissäsi (ohjeet ovat täällä).

    Makro 1. Tyhjien rivien poistaminen valitulta alueelta

    Tämä VBA-koodi poistaa äänettömästi kaikki tyhjät rivit valitusta alueesta ilman, että käyttäjälle näytetään mitään viestiä tai valintaikkunaa.

    Edellisestä tekniikasta poiketen makro poistaa rivin, jos merkkijono koko rivi on tyhjä Se käyttää laskentataulukon CountA-funktiota saadakseen ei-tyhjien solujen määrän kullakin rivillä ja poistaa sitten rivit, joilla on nollaluku.

    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 Sub

    Antaa käyttäjälle mahdollisuus valitse kohdealue makron suorittamisen jälkeen , käytä tätä koodia:

    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 Sub

    Kun makro suoritetaan, se näyttää seuraavan syöttöruudun, valitset kohdealueen ja napsautat OK-painiketta:

    Hetken kuluttua kaikki valitun alueen tyhjät rivit poistetaan ja jäljelle jäävät rivit siirtyvät ylöspäin:

    Makro 2. Poista kaikki tyhjät rivit Excelistä.

    Poistaaksesi kaikki tyhjät rivit on aktiivinen arkki , määrittää käytetyn alueen viimeisen rivin (eli rivin, joka sisältää viimeisen solun, jossa on tietoja) ja jatkaa sitten ylöspäin poistamalla rivit, joiden kohdalla CountA palauttaa nollan:

    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. Poista rivi, jos solu on tyhjä

    Tällä makrolla voit poistaa kokonaisen rivin, jos määritetyn sarakkeen solu on tyhjä.

    Seuraava koodi tarkistaa, onko sarakkeessa A tyhjiä. Jos haluat poistaa rivejä jonkin toisen sarakkeen perusteella, korvaa "A" sopivalla kirjaimella.

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

    Itse asiassa makro käyttää komentoa Siirry erikoisohjelmaan > Aihiot ominaisuus, ja voit saavuttaa saman tuloksen suorittamalla nämä vaiheet manuaalisesti.

    Huomautus. Makro poistaa tyhjät rivit taulukosta koko arkki Varotoimenpiteenä voi olla viisasta varmuuskopioida työarkki ennen tämän makron suorittamista.

    Miten tyhjät rivit poistetaan Excelissä VBA:lla?

    Jos haluat poistaa tyhjiä rivejä Excelissä makron avulla, voit joko lisätä VBA-koodin omaan työkirjaasi tai suorittaa makron esimerkkityökirjastamme.

    Makron lisääminen työkirjaan

    Voit lisätä makron työkirjaan seuraavasti:

    1. Avaa laskentataulukko, josta haluat poistaa tyhjät rivit.
    2. Avaa Visual Basic -editori painamalla Alt + F11.
    3. Napsauta vasemmassa ruudussa hiiren kakkospainikkeella ThisWorkbook ja napsauta sitten Lisää > Moduuli .
    4. Liitä koodi Koodiikkunaan.
    5. Suorita makro painamalla F5.

    Yksityiskohtaiset vaiheittaiset ohjeet ovat kohdassa VBA:n lisääminen ja käyttö Excelissä.

    Suorita makro esimerkkityökirjastamme

    Lataa esimerkkityökirjamme, jossa on Makrot tyhjien rivien poistamiseksi, ja suorita sieltä jokin seuraavista makroista:

    DeleteBlankRows - poistaa tyhjät rivit valitulla alueella.

    RemoveBlankLines - poistaa tyhjät rivit ja siirtyy ylöspäin alueella, jonka valitset makron suorittamisen jälkeen.

    DeleteAllEmptyRows - poistaa kaikki aktiivisen arkin tyhjät rivit.

    DeleteRowIfCellBlank - poistaa rivin, jos tietyn sarakkeen solu on tyhjä.

    Voit suorittaa makron Excelissä seuraavasti:

    1. Avaa ladattu työkirja ja ota makrot käyttöön, jos sinua pyydetään.
    2. Avaa oma työkirjasi ja siirry haluamallesi työarkille.
    3. Paina laskentataulukossa Alt + F8, valitse makro ja valitse sitten Suorita .

    Kaava tyhjien rivien poistamiseksi Excelissä

    Jos haluat nähdä, mitä olet poistamassa, voit tunnistaa tyhjät rivit seuraavan kaavan avulla:

    =IF(COUNTA(A2:D2)=0, "Tyhjä", "Ei tyhjä")

    Jossa A2 on ensimmäisen tietorivin ensimmäinen ja D2 viimeinen käytetty solu.

    Kirjoita tämä kaava rivin 2 E2:een tai muuhun tyhjään sarakkeeseen ja kopioi kaava alaspäin vetämällä täyttökahvaa.

    Tuloksena tyhjillä riveillä on "Tyhjä" ja riveillä, jotka sisältävät vähintään yhden solun, jossa on tietoja, on "Ei tyhjä":

    Kaavan logiikka on ilmeinen: lasket ei-tyhjät solut COUNTA-funktiolla ja käytät IF-lauseen palautusta "Blank", jos soluja on nolla, ja "Not Blank", jos soluja ei ole laskettu.

    Itse asiassa voit pärjätä hienosti ilman IF:ää:

    =COUNTTA(A2:D2)=0

    Tässä tapauksessa kaava palauttaa TRUE tyhjille riveille ja FALSE muille kuin tyhjille riveille.

    Kun kaava on valmis, poista tyhjät rivit seuraavasti:

    1. Valitse mikä tahansa solu otsikkoriviltä ja napsauta painiketta Lajittele & suodata > Suodatin on Etusivu välilehdellä, kohdassa Muodot Tämä lisää suodatuksen pudotusnuolet kaikkiin otsikkosoluihin.
    2. Napsauta kaavasarakkeen otsikon nuolta, poista valintamerkki (Valitse kaikki), valitse Tyhjä ja klikkaa OK :
    3. Valitse kaikki suodatetut rivit. Napsauta tätä varten ensimmäisen suodatetun rivin ensimmäistä solua ja paina Ctrl + Shift + End laajentaaksesi valinnan viimeisen suodatetun rivin viimeiseen soluun.
    4. Napsauta valintaa hiiren kakkospainikkeella, valitse Poista rivi kontekstivalikosta ja vahvista sitten, että haluat todella poistaa kokonaisia rivejä:
    5. Poista suodatin painamalla Ctrl + Shift + L . Tai valitse Etusivu tab> Lajittele & suodata > Suodatin .
    6. Poista sarake, jossa kaava on, koska et tarvitse sitä enää.

    Tuloksena on siisti taulukko, jossa ei ole tyhjiä rivejä, mutta kaikki tiedot ovat säilyneet:

    Vihje. Tyhjien rivien poistamisen sijasta voit poistaa myös kopioi ei-tyhjät rivit jonnekin muualle. Jos haluat tehdä sen, suodata "Ei tyhjiä" -rivit, valitse ne ja paina Ctrl + C kopioidaksesi. Siirry sitten toiselle arkille, valitse kohdealueen vasemmanpuoleinen yläsolu ja paina Ctrl + V liittääksesi.

    Kuinka poistaa tyhjät rivit Excelissä Power Queryn avulla?

    Excel 2016:ssa ja Excel 2019:ssä on vielä yksi tapa poistaa tyhjiä rivejä - käyttämällä Power Query -ominaisuutta. Excel 2010:ssä ja Excel 2013:ssa se on ladattavissa lisäohjelmana.

    Tärkeä huomautus! Tämä menetelmä toimii seuraavalla varauksella: Power Query muuntaa lähdetiedot Excel-taulukkoon ja muuttaa muotoilua, kuten täyttöväriä, reunuksia ja joitakin numeromuotoja. Jos alkuperäisten tietojen muotoilu on sinulle tärkeää, sinun on parempi valita jokin muu tapa poistaa tyhjät rivit Excelissä.

    1. Valitse alue, josta haluat poistaa tyhjät rivit.
    2. Mene osoitteeseen Tiedot tab> Hanki &; Muunna ryhmä ja klikkaa Taulukosta/alueelta Tämä lataa taulukkosi Power Query Editoriin.
    3. On Etusivu välilehdellä Power Query Editorissa, napsauta Poista rivit > Poista tyhjät rivit .
    4. Napsauta Sulje & Lataa Tämä lataa tuloksena olevan taulukon uuteen laskentataulukkoon ja sulkee kyselyeditorin.

    Näiden manipulointien tuloksena sain seuraavan taulukon ilman tyhjiä rivejä, mutta siinä on pari ikävää muutosta - valuuttaformaatti on kadonnut ja päivämäärät näytetään oletusmuodossa mukautetun muodon sijasta:

    Miten poistaa rivejä, jos tietyn sarakkeen solu on tyhjä?

    Tämän ohjeen alussa varoitimme sinua poistamasta tyhjiä rivejä valitsemalla tyhjiä. Tämä menetelmä on kuitenkin kätevä, jos haluat poistaa rivejä, jotka perustuvat tyhjät kohdat tietyssä sarakkeessa .

    Poistetaan esimerkiksi kaikki rivit, joissa sarakkeen A solu on tyhjä:

    1. Valitse avainsarake, tässä tapauksessa sarake A.
    2. On Etusivu välilehdellä, napsauta Etsi & valitse > Siirry erikoisohjelmaan . tai paina F5 ja napsauta Erityistä... nappi.
    3. Vuonna Siirry erikoisohjelmaan Valitse valintaikkuna Aihiot ja klikkaa OK Tämä valitsee tyhjät solut sarakkeen A käytetystä alueesta.
    4. Napsauta hiiren kakkospainikkeella mitä tahansa valittua solua ja valitse Poista... kontekstivalikosta.
    5. Vuonna Poista valintaikkunassa, valitse Koko rivi ja napsauta OK.

    Valmis! Rivejä, joilla ei ole arvoa sarakkeessa A, ei enää ole:

    Sama tulos voidaan saavuttaa suodattamalla avainsarakkeen tyhjät kohdat.

    Kuinka poistaa ylimääräiset rivit tietojen alapuolelta

    Joskus täysin tyhjiltä näyttävät rivit saattavat itse asiassa sisältää joitakin muotoiluja tai ei-tulostettavia merkkejä. Voit tarkistaa, onko viimeinen solu, jossa on tietoja, todella viimeinen käytetty solu työarkissasi, painamalla Ctrl + End . Jos tämä on johtanut sinut tietojen alapuolella olevalle visuaalisesti tyhjälle riville, Excelin kannalta kyseinen rivi ei ole tyhjä. Voit poistaa tällaiset rivit seuraavasti:

    1. Valitse tietojen alla olevan ensimmäisen tyhjän rivin otsikko napsauttamalla sitä.
    2. Paina Ctrl + Shift + End . Tämä valitsee kaikki rivit, jotka sisältävät mitä tahansa, mukaan lukien muotoilut, välilyönnit ja muut kuin painettavat merkit.
    3. Napsauta valintaa hiiren kakkospainikkeella ja valitse Poista... > Koko rivi.

    Jos sinulla on suhteellisen pieni tietokokonaisuus, saatat haluta päästä eroon kaikista tyhjistä riveistä tietojen alapuolella, esimerkiksi selaamisen helpottamiseksi. Vaikka Excelissä ei ole mitään tapaa poistaa käyttämättömiä rivejä, mikään ei estä sinua tekemästä seuraavaa piilottaminen Näin:

    1. Valitse viimeisen tietorivin alapuolella oleva rivi napsauttamalla sen otsikkoa.
    2. Paina Ctrl + Shift + Alas-nuoli laajentaaksesi valintaa arkin viimeiselle riville.
    3. Paina Ctrl + 9 piilottaaksesi valitut rivit. Tai napsauta valintaa hiiren kakkospainikkeella ja valitse sitten Piilota .

    Osoitteeseen Poista rivit piilosta , valitse koko arkki painamalla Ctrl + A ja paina sitten Ctrl + Shift + 9 saadaksesi kaikki rivit jälleen näkyviin.

    Samalla tavalla voit piilottaa käyttämättömät tyhjät sarakkeet tietojen oikealla puolella. Yksityiskohtaiset vaiheet löydät kohdasta Piilota käyttämättömät rivit Excelissä niin, että vain työalue on näkyvissä.

    Nopein tapa poistaa tyhjät rivit Excelissä

    Kun luit edellisiä esimerkkejä, eikö tuntunutkin siltä, että käytimme moukaria pähkinän murtamiseen? Me Ablebitsissä emme halua tehdä asioista monimutkaisempia kuin niiden pitäisi olla. Niinpä otimme askeleen pidemmälle ja loimme kahden napsautuksen reitin tyhjien rivien poistamiseen Excelissä.

    Kun Ultimate Suite on lisätty nauhaan, voit tehdä seuraavaa poistaa kaikki tyhjät rivit laskentataulukossa:

    1. On Ablebits-työkalut välilehdellä, kohdassa Muunnos ryhmää, klikkaa Poista aihiot > Tyhjät rivit :
    2. Lisäohjelma ilmoittaa, että kaikki tyhjät rivit poistetaan aktiivisesta laskentataulukosta, ja pyytää vahvistamaan asian. Napsauta OK, ja hetken kuluttua kaikki tyhjät rivit poistetaan.

    Kuten alla olevasta kuvakaappauksesta näkyy, olemme poistaneet vain seuraavat tiedot täysin tyhjät rivit joissa ei ole yhtään solua, jossa on tietoja:

    Jos haluat tutustua lisää Ultimate Suite for Excel -ohjelmistoon sisältyviin mahtaviin ominaisuuksiin, voit ladata kokeiluversion.

    Kiitän teitä lukemisesta ja toivon, että näen teidät blogissamme ensi viikolla!

    Michael Brown on omistautunut teknologian harrastaja, jolla on intohimo yksinkertaistaa monimutkaisia ​​prosesseja ohjelmistotyökalujen avulla. Yli vuosikymmenen kokemuksella teknologia-alalta hän on hionut taitojaan Microsoft Excelissä ja Outlookissa sekä Google Sheetsissä ja Docsissa. Michaelin blogi on omistettu jakamaan tietojaan ja asiantuntemustaan ​​muiden kanssa, ja se tarjoaa helposti seurattavia vinkkejä ja opetusohjelmia tuottavuuden ja tehokkuuden parantamiseksi. Olitpa kokenut ammattilainen tai aloittelija, Michaelin blogi tarjoaa arvokkaita oivalluksia ja käytännön neuvoja, joiden avulla saat kaiken irti näistä tärkeistä ohjelmistotyökaluista.