Koko rivin poistaminen Excelistä VBA: n avulla (esimerkit)

Rivien lisääminen ja poistaminen on osa jokapäiväisiä yleisiä tehtäviä, kun työskentelet Excelin kanssa.

Vaikka voit tehdä tämän helposti itse laskentataulukosta, joskus haluat ehkä käyttää VBA -reittiä rivien poistamiseen Excelistä. Nämä voivat olla tietyn rivin poistaminen, useita rivejä valinnassa, vaihtoehtoisten rivien poistaminen tai ne, joilla on tietty arvo.

Tässä opetusohjelmassa näytän sinulle, kuinka voit poistaa rivit Excelistä VBA: n avulla (useita skenaarioita).

Aloitetaan siis!

Koko rivin poistaminen VBA: n avulla

Jos haluat poistaa koko rivin Excelistä VBA: n avulla, sinun on käytettävä EntireRow.Delete -menetelmää.

Jos esimerkiksi haluat poistaa koko laskentataulukon ensimmäisen rivin, voit käyttää alla olevaa koodia:

Sub DeleteEntireRow () Rows (1) .EntireRow.Delete End Sub

Yllä oleva koodi määrittää ensin poistettavan rivin (joka tehdään määrittämällä numero suluissa) ja poistaa sen sitten EntireRow.Delete -menetelmällä.

Voit myös poistaa useita rivejä määrittämällä nämä rivit koodissa.

Esimerkiksi alla oleva koodi poistaa taulukon rivit 1, 5 ja 9:

Sub DeleteEntireRow () Rows (9) .EntireRow.Delete Rows (5) .EntireRow.Delete Rows (1) .EntireRow.Delete End Sub

Yllä oleva koodi käyttää samaa logiikkaa, jossa se määrittää rivinumerot ja Excel poistaa nämä rivit yksi kerrallaan.

TÄRKEÄÄ: Kun poistat rivejä, joilla on jotain samanlaista kuin yllä oleva koodi, muista aloittaa poistaminen alhaalta ja sitten ylös. Jos esimerkiksi aloitat ylhäältä ja poistat rivin 1 ensin, kaikki sen alapuolella olevat rivit siirretään yksi rivi ylöspäin ja numerointi on pois päältä (koska rivi 5 muuttuu riviksi 4 ja niin edelleen)

Poista kaikki rivit valinnasta

Jos haluat poistaa kaikki valitun solualueen rivit, voit käyttää alla olevaa VBA -makrokoodia:

Sub DeleteEntireRow () Selection.EntireRow.Delete End Sub

Yllä oleva koodi koskee EntireRow.Delete -menetelmää koko valinnassa.

Poista vaihtoehtoiset rivit (tai Poista joka kolmas/neljäs/n. Rivi)

Joskus saatat saada datan, jossa jokainen toinen rivi (tai kolmas, neljäs tai n. Rivi) on hyödytön ja se on poistettava.

Työskentelin aiemmin talousdatan kanssa, jossa jokainen toinen rivi oli tyhjä ja se oli poistettava.

Tämä on sellainen skenaario, jossa VBA todella loistaa.

Alla on VBA -koodi, joka käy läpi kaikki valitun rivin ja poistaa joka toinen rivi:

Sub DeleteAlternateRows () RCount = Selection.Rows.Count For i = RCount To 1 Step -2 Selection.Rows (i) .EntireRow.Delete Next i End Sub

Selitän kuinka tämä VBA -koodi toimii.

Ensinnäkin olen käyttänyt muuttujaa RCount saadaksesi valitun rivin kokonaismäärän.

Sitten olen käyttänyt For Next -silmukkaa suorittamaan tämän niin monta kertaa kuin monta riviä on olemassa. Jos esimerkiksi on 12 riviä, tämä silmukka suoritetaan 12: stä 1: een (eli 12 kertaa). On tärkeää suorittaa tämä valinnan viimeiseltä riviltä ensimmäiselle, koska emme halua rivien numeroiden muuttuvan, kun rivi poistetaan.

Myös vaihetta -2 käytetään, koska meidän on poistettava joka toinen rivi (alhaalta ylöspäin). Jos haluat poistaa joka kolmas rivi, voit käyttää -3.

VBA -silmukan sisällä olen käyttänyt Selection.Rows (i) .EntireRow.Delete -menetelmää jokaisen vaihtoehtoisen rivin poistamiseksi.

Poista tyhjät rivit VBA: lla

Voit myös käyttää EntireRow.Delete -menetelmää kaikkien tyhjien rivien poistamiseen.

Alla on VBA -koodi, joka valitsee tyhjät solut valitusta tietojoukosta ja poistaa koko rivin.

Sub DeleteBlankRows () Selection.SpecialCells (xlCellTypeBlanks) .EntireRow.Delete End Sub

Yllä oleva koodi käyttää SpecialCells -ominaisuutta kaikkien tyhjien solujen valitsemiseen ja poistamiseen. Tämä on sama menetelmä, jonka avulla voimme myös valita Siirry erikoisvalintaikkunaan kaikkien tyhjien solujen valitsemiseksi.

Kun nämä tyhjät solut on tunnistettu SpecialCell -sovelluksella, ne poistetaan sitten EntireRow.Delete -menetelmällä.

Huomautus: Tämä menetelmä valitsee tyhjät solut, eikä tarkista, onko koko rivi tyhjä vai ei. Joten jos joku solu on tyhjä peräkkäin, tämä poistaa silti koko rivin.

Poista rivit, joilla on tietty sana/arvo

Voit myös käyttää yksinkertaista VBA -koodia kulkeaksesi kunkin valitun alueen solun läpi ja poistaaksesi kaikki rivit, joissa solu sisältää tietyn tekstin tai arvon.

Oletetaan esimerkiksi, että sinulla on tietojoukko ja haluan poistaa kaikki solut, joiden valinnan sarakkeessa 2 on teksti Tulostin.

Alla on koodi, joka tekee tämän:

Sub DeleteRowswithSpecificValue () For i = Selection.Rows.Count to 1 Step -1 If Solut (i, 2) .Value = "Printer" Sitten Solut (i, 2) .EntireRow.Delete End If Next i End Sub

Yllä oleva koodi laskee ensin valinnan rivien kokonaismäärän. Tämä varmistaa, että silmukka suoritetaan vain nämä monta kertaa. Sitten se käyttää "Seuraavaa silmukkaa" käymään läpi kaikki sarakkeen 2 solut.

IF THEN ELSE -lausetta käytetään sitten sarakkeen 2 jokaisen solun arvon tarkistamiseen. Ja jos arvo/teksti vastaa määritettyä tekstiä (joka tässä esimerkissä on "Tulostin").

Tässä esimerkissä olen tarkistanut, vastaako teksti tiettyä merkkijonoa vai ei. Voit tehdä tämän myös arvoilla. Voit esimerkiksi poistaa kaikki rivit, joiden myyntiarvo on alle 1000 tai yli 1000.

Huomautus: Tässä on tärkeä huomata, että silmukka kulkee Valinta Rivit Laske 1 Varmista, että kun rivi poistetaan, se ei vaikuta sen yläpuolella oleviin riveihin.

Kuinka käyttää tätä VBA -koodia

Näytän nyt, kuinka voit käyttää kaikkia tässä opetusohjelmassa mainittuja koodeja koko rivin poistamiseen.

Sinun on kopioitava ja liitettävä nämä koodit Excel VB Editor -moduuliin. Kun olet kopioinut nämä koodit, voit suorittaa makrokoodit.

Alla on vaiheet, joilla voit kopioida ja liittää nämä VBA -koodit moduuliin:

  1. Pidä ALT -näppäintä painettuna ja paina F11 -näppäintä (tai Function + Option + F11 Macissa). Tämä avaa VB -editorin
  2. VB Editorissa projektinhallinta on vasemmalla. Jos et näe sitä, siirry Näytä -vaihtoehtoon ja valitse sitten Project Explorer.
  3. Napsauta hiiren kakkospainikkeella mitä tahansa objektia Project Explorerissa (työkirjassa, jossa haluat suorittaa koodin).
  4. Siirry Lisää -kohtaan ja napsauta sitten Moduuli. Työkirjaan lisätään uusi moduuli
  5. Kopioi ja liitä yllä olevat koodit moduuliin.

Ja suorittaaksesi nämä koodit voit sijoittaa kohdistimen mihin tahansa koodiin (jonka haluat suorittaa) ja painaa F5 -näppäintä (tai napsauta vihreää kolmioa VBA -työkalurivillä).

Olen myös kirjoittanut yksityiskohtaisen opetusohjelman eri tavoista käyttää VBA -makrokoodeja Excelissä.

Jos joudut käyttämään jotain näistä koodeista melko usein, voit myös harkita niiden lisäämistä henkilökohtaiseen makro -työkirjaan ja sitten QAT -luetteloon. Tällä tavalla koodi on käytettävissäsi missä tahansa työkirjassa yhdellä napsautuksella.

Joten nämä olivat joitain VBA -koodeja, joiden avulla voit poistaa kokonaisia ​​rivejä Excelissä (eri tilanteissa). Samaa logiikkaa voidaan soveltaa myös silloin, kun haluat poistaa sarakkeita rivien sijasta (vastaavalla säädöllä koodiesimerkeissä).

Toivottavasti pidit tätä opetusohjelmaa hyödyllisenä!

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave