VBA Slett hele raden eller kolonnen

Denne opplæringen vil demonstrere forskjellige måter å slette rader og kolonner i Excel ved hjelp av VBA.

Slett hele raden eller kolonnen

For å slette en hel rad i VBA, bruk denne kodelinjen:

1 Rader (1). Slett

Legg merke til at vi bruker Slett metode for å slette en rad.

I stedet for å referere til Rader objekt, kan du referere til rader basert på deres Rekkevidde med Hele raden:

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

På samme måte for å slette en hel kolonne, bruker du disse kodelinjene:

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

Slett flere rader eller kolonner

Ved å bruke den samme logikken kan du også slette flere rader samtidig:

1 Rader ("1: 3"). Slett

eller kolonner:

1 Kolonner ("A: C"). Slett

Legg merke til at vi refererer til de spesifikke rad- og kolonnetallene / bokstavene omgitt av sitater.

Selvfølgelig kan du også referere til EntireRow av et område:

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

Merk: Eksemplene nedenfor viser bare sletting av rader, men som du kan se ovenfor, er syntaksen praktisk talt identisk for å slette kolonner.

Slett tomme / tomme rader

Dette eksemplet sletter en rad hvis hele raden er tom:

1234567891011 Sub DeleteRows_EntireRowBlank ()Dim cell As RangeFor hver celle i området ("b2: b20")Hvis Application.WorksheetFunction.CountA (cell.EntireRow) = 0 Dacell.EntireRow.DeleteSlutt omNeste celleSlutt Sub

Den bruker Excel -regnearkfunksjonen: COUNTA.

Slett rad hvis cellen er tom

Dette vil slette en rad hvis den spesifikke kolonnen i den raden er tom (i dette tilfellet kolonne B):

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

Slett rad basert på celleverdi

Dette vil gå gjennom et område og slette rader hvis en bestemt celleverdi i den raden sier "slett".

1234567891011 Sub DeleteRowswithSpecificValue ()Dim cell As RangeFor hver celle i området ("b2: b20")Hvis cell.Value = "delete" Dacell.EntireRow.DeleteSlutt omNeste celleSlutt Sub

Flere slette rad- og kolonneeksempler

Slett dupliserte rader

Denne koden sletter alle dupliserte rader i et område:

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

Legg merke til at vi setter kolonner: = 2. Dette forteller VBA å sjekke begge de to første kolonnene med data når de vurderer om rader er dubletter. En duplikat blir bare funnet når begge kolonnene har duplikatverdier.

Hvis vi hadde satt dette til 1, ville bare den første raden blitt sjekket for dupliserte verdier.

Slett tabellrader

Denne koden sletter den andre raden i en tabell ved å referere til ListObjects.

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

Slett filtrerte rader

Slik sletter du bare rader som er synlige etter filtrering:

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

Slett rader i området

Denne koden sletter alle radene i området:

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

Slett utvalgte rader

Denne koden sletter alle de valgte radene:

1 Selection.EntireRow.Delete

Slett siste rad

Dette vil slette den siste brukte raden i kolonne B:

1 Celler (Rows.Count, 2) .End (xlUp) .EntireRow.Delete

Ved å endre 2 til 1 kan du slette den siste brukte raden i kolonne A, etc.:

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

Slett kolonner etter tall

For å slette en kolonne etter nummeret, bruk en kode som denne:

1 Kolonner (2). Slett

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave