VBA Delete Row

I Excel for å slette hvilken som helst rad, har vi en snarvei for å bruke CTRL + - eller vi kan velge raden og høyreklikke på den og slette den. Men i VBA har vi gjort det ved å skrive en kode for det. Metoden for å slette en rad i VBA er først vi må identifisere hvilken rad som skal slettes, og så kan vi slette den. I denne artikkelen lærer vi om forskjellige illustrasjoner for hvordan du kan slette en rad i VBA.

I VBA brukes Slett rad for å slette enten et sett med rader eller en enkelt rad avhengig av situasjonene. I likhet med Excel-regnearket kan vi bruke makroer eller VBA til å slette radene i et Excel-regneark. Dette hjelper når mange data har med oss ​​og vi ikke kan gjøre det manuelt.

Syntaks for å slette rad i Excel VBA

Syntaksen for å slette en rad i Excel er som nedenfor.

Worksheets.Rows (Row #). Slett

Det er også andre metoder for å slette rader ved å bruke VBA som følger.

Range ( “Cell”). EntireRow.Delete

Hva uttalelsen ovenfor vil gjøre, er at den vil slette raden for den gitte raden. Hvis vi for eksempel skriver Range (“A1”). HeleRow.Delete, vil den første raden bli slettet ettersom celle A1 hører til den første raden.

Vi kan også bruke Rows (row_num) .delete for å slette en rad.

Hvordan slette rad i Excel ved hjelp av VBA?

Nedenfor er noen eksempler på hvordan du kan slette en rad i Excel ved hjelp av VBA.

Du kan laste ned denne VBA Delete Row Excel-malen her - VBA Delete Row Excel-mal

VBA Delete Row - Eksempel # 1

La oss bruke den første enkle metoden for å slette rader. For demonstrasjonsformål vil jeg legge inn en tilfeldig verdi i celle A1 og B1. Ta en titt på det nedenfor.

Det jeg vil se er om jeg bruker koden som er skrevet over hele raden, vil bli slettet eller en enkelt celle blir slettet.

Merk: For å bruke Excel VBA, må vi ha utviklerkategori aktivert fra Fil-kategorien i opsjonsdelen.

Følg trinnene nedenfor for å slette rad i Excel ved hjelp av VBA.

Trinn 1: Gå til utviklerens faneklikk på Visual Basic for å åpne VBA Editor.

Trinn 2: I kodesegmentet erklærer du en underfunksjon for å begynne å skrive koden.

Kode:

 Undereksempel () Slutt Sub 

Trinn 3: Skriv nå følgende kode for å slette raden.

Kode:

 Underprøve () Område ("A1"). FullRow.Delete End Sub 

Trinn 4: Kjør denne koden ved å trykke på F5 eller Run-knappen og se utdataene.

Når vi kjører koden kan vi se at verdiene fra både celle A1 og B1 blir fjernet ettersom hele den første raden er slettet.

VBA Delete Row - Eksempel # 2

Tidligere i det første eksemplet har jeg slettet bare en enkelt rad. Men hva med hvis vi må slette flere rader. For demonstrasjonsformål har jeg følgende data som vist nedenfor,

Jeg vil slette alle de fem første radene. Følg trinnene nedenfor for å slette rad i Excel ved hjelp av VBA.

Trinn 1: I utviklerens fane klikker du på Visual Basic for å åpne VBA Editor.

Trinn 2: I koden erklærer en underfunksjon å begynne å skrive koden,

Kode:

 Sub Sample1 () Slutt Sub 

Trinn 3: Skriv følgende kode vist nedenfor for å slette hele de fem radene.

Kode:

 Underprøve1 () Område ("A1: B5"). FullRow.Delete End Sub 

Trinn 4: Kjør denne koden ved å trykke på F5 eller Run-knappen og se utdataene.

Når vi kjører koden, ser vi følgende resultat. Hele dataene er slettet, betyr at de fem første radene er slettet, slik vi hadde data i de fem første radene.

Merk: Jeg vil sette inn dataene i ekselleksemplararket for demonstrasjon.

VBA Delete Row - Eksempel # 3

Nå har vi data for ansatte, og salget deres skjer på tre måneder januar, februar og mars. En av de ansatte hadde permisjon og kunne ikke selge i tre måneder, så cellene er tomme for ham. Målet vårt er å finne den tomme raden og slette den fra dataene.

Ta en titt på dataene nedenfor,

Følg trinnene nedenfor for å slette rad i Excel ved hjelp av VBA.

Trinn 1: Fra utvikler-fanen klikker du på Visual Basic for å åpne en visual basic editor.

Trinn 2: Erklær underfunksjonen i kodevinduet for å begynne å skrive koden,

Kode:

 Sub Sample2 () Slutt Sub 

Trinn 3: Skriv følgende kode for å slette radene som har tomme celler.

Kode:

 Sub Sample2 () Range ("A1: D5"). SpecialCells (xlCellTypeBlanks) .EntireRow.Delete End Sub 

SpecialCells er en funksjon i VBA som returnerer oss alle celler som samsvarer med forholdene våre, og vår tilstand var de tomme cellene i det området, så vi brukte en xlCellTypeBlanks-funksjon.

Trinn 4: Kjør denne koden ved å trykke på F5 eller Run-knappen og se utdataene.

Når vi kjører koden kan vi se at raden som hadde de tomme cellene, er blitt slettet.

Merk: Jeg vil igjen sette inn dataene i Excel-arket for demonstrasjon.

VBA Delete Row - Eksempel # 4

Det er noen andre lignende metoder for å slette radene, for eksempel å bruke rader og slette-funksjonen. For eksempel har vi data i rad 4, og jeg vil slette rad 4. Vi kan gi en kommando til å utmerke seg for å slette 4. rad i dataene. Ta en titt på skjermdumpen nedenfor. Jeg har en tilfeldig data på rad 4 i den første cellen.

Følg trinnene nedenfor for å slette rad i Excel ved hjelp av VBA.

Trinn 1: Åpne VBA Editor ved å klikke på Visual Basic fra Developer's Tab,

Trinn 2: Forklar subfunksjonen for å begynne å skrive koden.

Kode:

 Sub Sample3 () Slutt Sub 

Trinn 3: Skriv følgende kode for å slette den fjerde raden.

Kode:

 Undereksempel3 () Rader (4). Slett sluttundert 

Trinn 4: Kjør denne koden ved å trykke på F5 eller Run-knappen og se utdataene.

Data er slettet ettersom den fjerde raden er blitt slettet selv.

VBA Delete Row - Eksempel # 5

I koden over har vi gitt området eller raden som skal slettes i selve koden. La oss nå komme med innspill fra brukeren, og han kan slette raden fra en gitt data. For eksempel har jeg data om ansatte og salg gjorde som nedenfor, og jeg vil at en bruker skal velge området fra hvor mye data brukeren vil slette radene med tomme celler. Ta en titt på dataene nedenfor,

Følg trinnene nedenfor for å slette rad i Excel ved hjelp av VBA.

Trinn 1: Åpne VB Editor ved å klikke på Visual Basic fra utviklerens fane,

Trinn 2: Forklar en underfunksjon for å begynne å skrive koden.

Kode:

 Sub Sample4 () Slutt Sub 

Trinn 2: Angi to variabler som rekkevidde, A og B.

Kode:

 Sub Sample4 () Dim A As Range Dim B As Range End Sub 

Trinn 3: For å ta innspill fra brukeren for et utvalg av områder som skal slettes, vil vi bruke inngangsfeltfunksjonen og vi vil lagre den inngangen i en variabel definert over.

Kode:

 Sub Sample4 () Dim A As Range Dim B As Range Set A = Application.InputBox ("Select Data", "Sample Macro", Type: = 8) End Sub 

Trinn 4: Still B = A slik at inngangen fra brukeren kan lagres i område B.

Kode:

 Sub Sample4 () Dim A As Range Dim B As Range Set A = Application.InputBox ("Select Data", "Sample Macro", Type: = 8) Set B = A End Sub 

Trinn 5: Nå vil vi slette dataene som har tomme celler fra området valgt av brukeren.

Kode:

 Sub Sample4 () Dim A As Range Dim B As Range Set A = Application.InputBox ("Select Data", "Sample Macro", Type: = 8) Set B = A A.SpecialCells (xlCellTypeBlanks) .EntireRow.Delete End Sub 

Trinn 6: Kjør nå koden fra den medfølgende løpsknappen.

Trinn 6: En innmatingsboks vises.

Trinn 7: Velg området fra A1: D8 i dette eksemplet. Trykk OK for å se resultatet.

Dataene som hadde tomme celler, er slettet.

Ting å huske

Det er noen få ting vi trenger å huske om Delete Row i Excel VBA:

  • Vi kan slette raden basert på en enkelt celle.
  • Vi kan slette flere rader ved å gi et utvalg av celler.
  • Vi kan også slette rader ved å ta innspill fra brukeren.

Anbefalte artikler

Dette har vært en guide til VBA Delete Row. Her diskuterte vi hvordan du kan slette rad i Excel VBA sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. Hvordan bruke Erstatt funksjon i VBA?
  2. Slette snarvei i Excel
  3. VBA-sak | Excel-triks
  4. Excel Sett inn radsnarvei
  5. Hvordan summere flere rader i Excel?

Kategori: