VBA Poista koko rivi tai sarake – Automate ExcelAutomate Excel

Tässä opetusohjelmassa esitellään eri tapoja poistaa rivejä ja sarakkeita Excelissä VBA:n avulla.

Poista koko rivi tai sarake

Poistaaksesi kokonaisen rivin VBA:ssa käytä tätä koodiriviä:

Rows(1).Delete

Huomaa, että käytämme rivin poistamiseen Delete-metodia.

Rows-objektiin viittaamisen sijaan voit viitata riveihin niiden Range-objektiin perustuen EntireRow-metodilla:

Range("a1").EntireRow.Delete

Koko sarakkeen poistamiseen voit vastaavasti käyttää näitä koodirivejä:

Columns(1).Delete
Range("a1").EntireColumn.Delete

Poista useita rivejä tai sarakkeita

Käyttämällä samaa logiikkaa voit myös poistaa useita rivejä kerralla:

Rows("1:3").Delete

tai sarakkeita:

Columns("A:C").Delete

Huomaa, että tässä viitataan tiettyihin rivien ja sarakkeiden numeroihin / kirjaimiin lainausmerkeillä ympäröityinä.

Voit tietysti viitata myös alueen EntireRow:

Range("a1:a10").EntireRow.Delete

Huomautus: Alla olevat esimerkit havainnollistavat vain rivien poistamista, mutta kuten yllä näkyy, syntaksi on käytännössä identtinen sarakkeiden poistamiseen.

Tyhjien/tyhjien rivien poistaminen

Tämä esimerkki poistaa rivin, jos koko rivi on tyhjä:

Sub DeleteRows_EntireRowBlank()Dim cell As RangeFor Each cell In Range("b2:b20") If Application.WorksheetFunction.CountA(cell.EntireRow) = 0 Then cell.EntireRow.Delete End IfNext cellEnd Sub

Tässä hyödynnetään Excelin laskentataulukkotoimintoa: COUNTA.

Poista rivi, jos solu on tyhjä

Tässä poistetaan rivi, jos tietty sarake kyseisellä rivillä on tyhjä (tässä tapauksessa sarake B):

Range("b3:b20").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

Poista rivi solun arvon perusteella

Tässä kierretään läpi alue ja poistetaan rivejä, jos tietyn solun arvossa kyseisellä rivillä lukee ”poista”.

Sub DeleteRowswithSpecificValue()Dim cell As RangeFor Each cell In Range("b2:b20") If cell.Value = "delete" Then cell.EntireRow.Delete End IfNext cellEnd Sub

Lisää esimerkkejä rivin ja sarakkeen poistamisesta

Poista päällekkäiset rivit

Tämä koodi poistaa kaikki päällekkäiset rivit alueelta:

Range("b2:c100").RemoveDuplicates Columns:=2

Huomaa, että asetimme Columns:=2. Tämä kertoo VBA:lle, että se tarkistaa molemmat kaksi ensimmäistä saraketta harkitessaan, ovatko rivit päällekkäisiä. Kaksoiskappale löytyy vain silloin, kun molemmissa sarakkeissa on päällekkäisiä arvoja.

Jos olisimme asettaneet tämän arvoksi 1, vain ensimmäinen rivi olisi tarkistettu päällekkäisten arvojen varalta.

Taulukon rivien poistaminen

Tämä koodi poistaa toisen rivin Taulukosta viittaamalla ListObjectsiin.

ThisWorkbook.Sheets("Sheet1").ListObjects("list1").ListRows(2).Delete

Poista suodatetut rivit

Poista vain rivit, jotka ovat näkyvissä suodatuksen jälkeen:

Range("b3:b20").SpecialCells(xlCellTypeVisible).EntireRow.Delete

Poista rivit alueelta

Tämä koodi poistaa kaikki alueen rivit:

Range("a1:a10").EntireRow.Delete

Delete Selected Rows

Tämä koodi poistaa kaikki valitut rivit:

Selection.EntireRow.Delete

Delete Last Row

Tämä koodi poistaa sarakkeesta B viimeiseksi käytetyn rivin:

Cells(Rows.Count, 2).End(xlUp).EntireRow.Delete

Muuttamalla 2:n 1:ksi voit poistaa sarakkeesta A viimeiseksi käytetyn rivin jne.:

Cells(Rows.Count, 1).End(xlUp).EntireRow.Delete

Sarakkeiden poistaminen numeron mukaan

Poistaaksesi sarakkeen sen numeron mukaan, käytä tällaista koodia:

Columns (2).Delete

Vastaa

Sähköpostiosoitettasi ei julkaista.