Excelissä voit poistaa rivin napsauttamalla rivin numeroa hiiren kakkospainikkeella ja valitsemalla sitten Delete. Mutta kun haluat poistaa rivejä käyttämällä kehittyneempiä menetelmiä sinun täytyy käyttää VBA. Sen avulla voit poistaa rivejä monin eri tavoin.
Poista tietty rivi
yksinkertaisin tapa poistaa rivi VBA: ssa on käyttää rivinumeroa.
Sub deleteSpecificRow()Rows(4).DeleteEnd Sub
Tämä poistaa neljännen rivin aina, kun suoritat makron.
Poista useita rivejä
voit myös poistaa muutaman rivin kerralla. Sen sijaan, että valitset rivinumeron, valitse rivivalikoima.
Sub deleteMultipleRows()Rows("2:4").DeleteEnd Sub
se poistaa rivit 2, 3 ja 4.
Poista valitut rivit
tähän mennessä loimme makrot, jotka poistivat rivit, joissa oli koodin sisällä kiinteitä numeroita. Tällä kertaa, Let ’ s poistaa rivit valinta. Käytetään seuraavaa koodia.
Sub deleteSelectedRows()Selection.EntireRow.DeleteEnd Sub
Poista tyhjät rivit
tässä esimerkissä Excel tunnistaa, mitkä solut ovat tyhjiä, valitsee ne ja poistaa rivit, joissa ne ovat.
Sub deleteBlankRows()Selection.SpecialCells(xlCellTypeBlanks).SelectSelection.EntireRow.DeleteEnd Sub
Tämä makro poistaa rivit valinnasta vain, jos se sisältää lauseen ”huono rivi”.
varoitus
muista, että teksti on kirjainkokoherkkä.
Sub deleteRowswithSelectedText()For Each Cell In Selection If Cell.Value = "Bad Row" Then Rows(Cell.Row).ClearContents End IfNextSelection.SpecialCells(xlCellTypeBlanks).SelectSelection.EntireRow.DeleteEnd Sub
Koodianalyysi
2. Silmukka käy läpi jokaisen valinnan elementin.
3. Excel tarkistaa todellisen solun arvon ja jos arvo on täsmälleen ”huono rivi”.
4. Jos ehto täyttyy, Excel tyhjentää solun sisällön. Emme voi poistaa solua, koska solun sijainti muuttuu ja osa ”huonoista riveistä” voi jäädä.
7. Kun kaikki” huonot rivit ” on selvitetty, Excel valitsee nämä solut.
8. Sitten poistaa rivit näistä soluista.
Jos haluat poistaa myös ne rivit, jotka koostuvat tästä lauseesta, eikä vain tarkkaa vastaavuutta, käytä InStr-funktiota. Tämä funktio palauttaa lauseen ensimmäisen esiintymän sijainnin.
muutos
Cell.Value = "Bad Row"
to
InStr(Cell, "Bad Row") > 0
meillä on laskentataulukon sisällä neljä erilaista esimerkkiä. Jokainen heistä palauttaa aseman.
- ”huono rivi” palauttaa 1
- ”hyvä rivi” palauttaa 0
- ”1 huono rivi” palauttaa 3
- ”huono rivi !”palauttaa 1
tämä tarkoittaa, että kaikki rivit paitsi ”hyvä rivi” poistetaan.
Poista rivi, jossa solun tyyppi on merkkijono
tässä esimerkissä poistetaan rivi, jos solun tyyppi on merkkijono.
ensi silmäyksellä solut A3, A4 ja A5 näyttävät olevan samaa tyyppiä. Mutta kun katsot mitä kulissien takana tapahtuu (Ctrl+`) näet, että jokainen niistä on erilainen.
Sub deleteifString()Selection.SpecialCells(xlCellTypeConstants, 2).SelectSelection.EntireRow.DeleteEnd Sub
toisella rivillä on seuraava koodi: xlCellTypeConstants. Se tarkoittaa, että etsimme vakioita. Numero 2 tarkoittaa toista tyyppiä, joka on teksti.
Excel valitsee vain tyyppitekstin arvot.
tulos.
Poista parilliset/parittomat rivit
nyt poistetaan vain ne rivit, jotka ovat parillisia.
Sub deleteEven()For Each Cell In Selection If Cell.Row Mod 2 = 0 Then Rows(Cell.Row).ClearContents End IfNextSelection.SpecialCells(xlCellTypeBlanks).SelectSelection.EntireRow.DeleteEnd Sub
koodi on hyvin samankaltainen kuin edellisessä esimerkissä. Siinä on vain yksi ero.
solu.Rivi Mod 2 = 0
tämä tarkoittaa, jos jaon jälkeen jäljelle jäävä luku on 0 (luvuille: 2, 4, 6, 8, …) sitten luku on parillinen, jos se on 1 Niin se on pariton luku (1, 3, 5, 6, …).
taulukkolaskenta ja Python-harrastaja.