Elimina o inserisci righe in base al valore della cella

Questo tutorial dimostrerà come eliminare o inserire righe in base ai valori delle celle.

Elimina riga in base al valore della cella

Questo eseguirà un ciclo attraverso un intervallo ed eliminerà le righe se la colonna A dice "elimina".

1234567891011121314151617181920 Sub DeleteRowsBasedonCellValue()"Dichiara variabili"Dim LastRow quanto più a lungo, FirstRow quanto più a lungoDim Row quanto più a lungoCon ActiveSheet"Definisci la prima e l'ultima riga"Prima riga = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'Loop attraverso le righe (dal basso verso l'alto)For Row = LastRow To FirstRow Passaggio -1If .Range("A" & Row).Value = "delete" Then.Intervallo("A" e riga).Intera riga.EliminaFinisci seRiga successivaTermina conFine sottotitolo

Dobbiamo iniziare il ciclo con la riga inferiore perché l'eliminazione di una riga sposterà i dati, saltando le righe se esegui il ciclo dall'alto verso il basso.

Inoltre, nota che invece di inserire manualmente l'ultima riga, calcoliamo l'ultima riga utilizzata.

Elimina riga - In base al filtro

Nell'esempio precedente, abbiamo eseguito il ciclo delle righe, eliminando ogni riga che soddisfa i criteri. In alternativa, possiamo utilizzare il filtro automatico di Excel per filtrare le righe in base ad alcuni criteri e quindi eliminare le righe visibili:

12345678910111213141516171819202122232425 Sub FilterAndDeleteRows()'Dichiara variabile wsDim ws come foglio di lavoroImposta ws = ActiveSheet"Ripristina filtri esistenti"In caso di errore Riprendi Avantiws.ShowAllDataIn caso di errore Vai a 0'Applica il filtrows.Range("a1:d100").AutoFilter Field:=1, Criteria1:="delete""Elimina righe"Application.DisplayAlerts = Falsews.Range("a1:d100").SpecialCells(xlCellTypeVisible).EliminaApplication.DisplayAlerts = True'Filtro pulitoIn caso di errore Riprendi Avantiws.ShowAllDataIn caso di errore Vai a 0Fine sottotitolo

Elimina riga in base ai criteri della cella

Questo eseguirà un ciclo attraverso un intervallo, eliminando le righe se la cella nella colonna A soddisfa determinati criteri (< 0):

1234567891011121314151617181920 Sub DeleteRowsBasedonCellValue()"Dichiara variabili"Dim LastRow quanto più a lungo, FirstRow quanto più a lungoDim Row quanto più a lungoCon ActiveSheet"Definisci la prima e l'ultima riga"Prima riga = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'Loop Through Rows (dal basso verso l'alto)For Row = LastRow To FirstRow Passaggio -1If .Range("A" & Row).Value < 0 Then.Intervallo("A" e riga).Intera riga.EliminaFinisci seRiga successivaTermina conFine sottotitolo

Programmazione VBA | Il generatore di codice funziona per te!

Elimina riga se la cella è vuota

Questo eseguirà un ciclo attraverso un intervallo, eliminando una riga se una cella nella colonna A è vuota:

1234567891011121314151617181920 Sub DeleteRowsBasedonCellValue()"Dichiara variabili"Dim LastRow quanto più a lungo, FirstRow quanto più a lungoDim Row quanto più a lungoCon ActiveSheet"Definisci la prima e l'ultima riga"Prima riga = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'Loop Through Rows (dal basso verso l'alto)For Row = LastRow To FirstRow Passaggio -1If .Range("A" & Row).Value = "" Then.Intervallo("A" e riga).Intera riga.EliminaFinisci seRiga successivaTermina conFine sottotitolo

Elimina riga vuota

In alternativa, se si desidera eliminare una riga se l'intera riga è vuota (fare clic sul collegamento per un metodo leggermente diverso), è possibile utilizzare questo codice:

1234567891011121314151617181920 Sub EliminaBlankRows()"Dichiara variabili"Dim LastRow quanto più a lungo, FirstRow quanto più a lungoDim Row quanto più a lungoCon ActiveSheet"Definisci la prima e l'ultima riga"Prima riga = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'Loop Through Rows (dal basso verso l'alto)For Row = LastRow To FirstRow Passaggio -1Se WorksheetFunction.CountA(.Rows(Row)) = 0 Then.Righe(Riga).InteraRiga.EliminaFinisci seRiga successivaTermina conFine sottotitolo

Elimina riga se la cella contiene un valore

Questo eseguirà un ciclo attraverso un intervallo, eliminando una riga se la cella nella colonna A non è vuota:

1234567891011121314151617181920 Sub DeleteRowsBasedonCellValue()"Dichiara variabili"Dim LastRow quanto più a lungo, FirstRow quanto più a lungoDim Row quanto più a lungoCon ActiveSheet"Definisci la prima e l'ultima riga"Prima riga = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'Loop attraverso le righe (dal basso verso l'alto)For Row = LastRow To FirstRow Passaggio -1If .Range("A" & Row).Value "" Then.Intervallo("A" e riga).Intera riga.EliminaFinisci seRiga successivaTermina conFine sottotitolo

Stanco di cercare esempi di codice VBA? Prova AutoMacro!

Inserisci riga in base al valore della cella

Questo eseguirà un ciclo attraverso un intervallo, inserendo righe se una determinata cella in quella riga dice "inserisci":

1234567891011121314151617181920 Sub InsertRowsBasedonCellValue()"Dichiara variabili"Dim LastRow quanto più a lungo, FirstRow quanto più a lungoDim Row quanto più a lungoCon ActiveSheet"Definisci la prima e l'ultima riga"Prima riga = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'Loop Through Rows (dal basso verso l'alto)For Row = LastRow To FirstRow Passaggio -1If .Range("A" & Row).Value = "insert" Then.Intervallo("A" e riga).Intera riga.InserisciFinisci seRiga successivaTermina conFine sottotitolo
wave wave wave wave wave