Poistamalla rivin VBA

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.

Post Views: 72 354

Vastaa

Sähköpostiosoitettasi ei julkaista.