VBA Slet hele rækken eller kolonnen

Denne vejledning viser forskellige måder at slette rækker og kolonner i Excel ved hjælp af VBA.

Slet hele rækken eller kolonnen

For at slette en hel række i VBA skal du bruge denne kodelinje:

1 Rækker (1). Slet

Bemærk, at vi bruger Slet metode til at slette en række.

I stedet for at henvise til Rækker objekt, kan du henvise til rækker baseret på deres Områdeobjekt med Hele rækken:

1 Område ("a1"). EntireRow.Delete

På samme måde for at slette en hel kolonne, skal du bruge disse kodelinjer:

1 Kolonner (1). Slet
1 Område ("a1"). EntireColumn.Delete

Slet flere rækker eller kolonner

Ved hjælp af den samme logik kan du også slette flere rækker på én gang:

1 Rækker ("1: 3"). Slet

eller kolonner:

1 Kolonner ("A: C"). Slet

Bemærk her, at vi refererer til de specifikke række og kolonne tal / bogstaver omgivet af citater.

Du kan naturligvis også referere til EntireRow af et område:

1 Område ("a1: a10"). EntireRow.Delete

Bemærk: Eksemplerne herunder viser kun sletning af rækker, men som du kan se ovenfor, er syntaksen praktisk talt identisk til at slette kolonner.

Slet tomme / tomme rækker

Dette eksempel sletter en række, hvis hele rækken er tom:

1234567891011 Sub DeleteRows_EntireRowBlank ()Dim celle som områdeFor hver celle i området ("b2: b20")Hvis Application.WorksheetFunction.CountA (cell.EntireRow) = 0 Dereftercell.EntireRow.DeleteAfslut HvisNæste celleAfslut Sub

Det gør brug af Excel -regnearksfunktionen: COUNTA.

Slet række, hvis cellen er tom

Dette vil slette en række, hvis specifik kolonne i den pågældende række er tom (i dette tilfælde kolonne B):

1 Område ("b3: b20"). SpecialCells (xlCellTypeBlanks) .EntireRow.Delete

Slet række baseret på celleværdi

Dette vil gå gennem et område og slette rækker, hvis en bestemt celleværdi i den række siger "slet".

1234567891011 Sub DeleteRowswithSpecificValue ()Dim celle som områdeFor hver celle i området ("b2: b20")Hvis cell.Value = "delete" Såcell.EntireRow.DeleteAfslut HvisNæste celleAfslut Sub

Flere Slet række- og kolonneeksempler

Slet dubletter

Denne kode vil slette alle dublerede rækker i et område:

1 Område ("b2: c100"). RemoveDuplicates -kolonner: = 2

Bemærk, at vi indstiller kolonner: = 2. Dette fortæller VBA at kontrollere begge de to første kolonner med data, når de overvejer, om rækker er dubletter. Et duplikat findes kun, når begge kolonner har dublerede værdier.

Hvis vi havde angivet dette til 1, ville kun den første række være blevet kontrolleret for dublerede værdier.

Slet tabelrækker

Denne kode sletter den anden række i en tabel ved at henvise til ListObjects.

1 ThisWorkbook.Sheets ("Sheet1"). ListObjects ("list1"). ListRows (2) .Slet

Slet filtrerede rækker

Sådan sletter du kun rækker, der er synlige efter filtrering:

1 Område ("b3: b20"). SpecialCells (xlCellTypeVisible) .EntireRow.Delete

Slet rækker i området

Denne kode sletter alle rækker i området:

1 Område ("a1: a10"). EntireRow.Delete

Slet udvalgte rækker

Denne kode sletter alle markerede rækker:

1 Selection.EntireRow.Delete

Slet sidste række

Dette vil slette den sidst anvendte række i kolonne B:

1 Celler (rækker.tælling, 2) .Slut (xlUp) .EntireRow.Delete

Ved at ændre 2 til 1 kan du slette den sidst brugte række i kolonne A osv .:

1 Celler (rækker, antal, 1). Afslut (xlUp) .EntireRow.Delete

Slet kolonner efter nummer

Hvis du vil slette en kolonne efter dens nummer, skal du bruge en kode som denne:

1 Kolonner (2). Slet

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave