VBA Radera hela raden eller kolumnen

Denna handledning visar olika sätt att radera rader och kolumner i Excel med VBA.

Ta bort hela raden eller kolumnen

För att radera en hel rad i VBA, använd denna kodrad:

1 Rad (1). Radera

Lägg märke till att vi använder Radera metod för att radera en rad.

Istället för att referera till Rader Objekt, kan du referera rader baserat på deras Områdeobjekt med Hela raden:

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

På samma sätt för att radera en hel kolumn, använd dessa kodrader:

1 Kolumner (1). Radera
1 Område ("a1"). EntireColumn.Delete

Ta bort flera rader eller kolumner

Med samma logik kan du också radera flera rader samtidigt:

1 Rad ("1: 3"). Radera

eller kolumner:

1 Kolumner ("A: C"). Radera

Lägg märke till att här refererar vi till de specifika raden och kolumnnumren / bokstäverna omgivna av citat.

Naturligtvis kan du också referera till EntireRow i ett intervall:

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

Obs! Exemplen nedan visar bara att rader tas bort, men som du kan se ovan är syntaxen praktiskt taget identisk för att radera kolumner.

Ta bort tomma / tomma rader

I det här exemplet raderas en rad om hela raden är tom:

1234567891011 Sub DeleteRows_EntireRowBlank ()Dim cell As RangeFör varje cell i intervallet ("b2: b20")Om Application.WorksheetFunction.CountA (cell.EntireRow) = 0 Dåcell.EntireRow.DeleteAvsluta omNästa cellAvsluta Sub

Den använder Excel -kalkylbladets funktion: COUNTA.

Ta bort rad om cellen är tom

Detta kommer att radera en rad om specifik kolumn i den raden är tom (i detta fall kolumn B):

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

Radera rad baserat på cellvärde

Detta kommer att gå igenom ett intervall och radera rader om ett visst cellvärde i den raden säger "ta bort".

1234567891011 Sub DeleteRowswithSpecificValue ()Dim cell As RangeFör varje cell i intervallet ("b2: b20")Om cell.Value = "delete" Dåcell.EntireRow.DeleteAvsluta omNästa cellAvsluta Sub

Fler Radera rad- och kolumnexempel

Ta bort dubblerade rader

Den här koden raderar alla dubblerade rader i ett område:

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

Lägg märke till att vi ställer in kolumner: = 2. Detta uppmanar VBA att kontrollera båda de två första kolumnerna med data när man överväger om rader är dubbletter. En kopia hittas bara när båda kolumnerna har dubblettvärden.

Om vi ​​hade ställt in detta till 1 hade bara den första raden kontrollerats för dubblettvärden.

Ta bort tabellrader

Denna kod kommer att ta bort den andra raden i en tabell genom att referera till ListObjects.

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

Ta bort filtrerade rader

Så här tar du bara bort rader som är synliga efter filtrering:

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

Ta bort rader i intervallet

Denna kod raderar alla rader inom intervallet:

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

Ta bort valda rader

Denna kod raderar alla valda rader:

1 Selection.EntireRow.Delete

Ta bort sista raden

Detta raderar den senast använda raden i kolumn B:

1 Celler (rader.räkning, 2) .Slut (xlUp) .EntireRow.Delete

Genom att ändra 2 till 1 kan du radera den senast använda raden i kolumn A, etc.:

1 Celler (rader.räkning, 1) .Slut (xlUp) .EntireRow.Delete

Ta bort kolumner efter nummer

För att radera en kolumn med dess nummer, använd en kod så här:

1 Kolumner (2). Radera

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave