Come eliminare ogni altra riga in un foglio di lavoro di Excel

Riepilogo

Questo articolo contiene una macro microsoft Visual Basic, Applications Edition di esempio che è possibile utilizzare per eliminare ogni altra riga di un intervallo selezionato in un foglio di lavoro di Microsoft Excel.

Ulteriori informazioni

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presuppone che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug delle procedure. Gli esperti Microsoft sono autorizzati a fornire spiegazioni in merito alla funzionalità di una particolare routine, ma in nessun caso a modificare questi esempi per fornire funzionalità aggiuntive o a creare routine atte a soddisfare specifiche esigenze. Per utilizzare la macro seguente, configurare una cartella di lavoro di Excel come indicato di seguito:

  1. Creare una nuova cartella di lavoro di Microsoft Excel.

  2. In un nuovo foglio di lavoro, nell'intervallo A1:A9, digitare i numeri da 1 a 5, ignorando le righe, come nell'esempio seguente:

    A1: 1
    A2:
    A3: 2
    A4:
    A5: 3
    A6:
    A7: 4
    A8:
    A9: 5
    
  3. Nel menu Strumenti, scegliere Macro, quindi fare clic su Visual Basic Editor.

    Nota In Microsoft Office Excel 2007 e versioni successive fare clic su Visual Basic nel gruppo Codice della scheda Sviluppo .

  4. Nel menu Inserisci, fare clic su Modulo.

  5. Nel nuovo modulo digitare la macro seguente:

Sub Delete_Every_Other_Row()

' Dimension variables.
   Y = False              ' Change this to True if you want to
                          ' delete rows 1, 3, 5, and so on.
   I = 1
   Set xRng = Selection

' Loop once for every row in the selection.
   For xCounter = 1 To xRng.Rows.Count

' If Y is True, then...
       If Y = True Then

' ...delete an entire row of cells.
           xRng.Cells(I).EntireRow.Delete

' Otherwise...
       Else

' ...increment I by one so we can cycle through range.
           I = I + 1

End If

' If Y is True, make it False; if Y is False, make it True.
       Y = Not Y

Next xCounter

End Sub
  1. Passare al foglio di lavoro che contiene i dati e quindi selezionare l'intervallo A1:A9.

  2. Per eseguire la macro, scegliere Macro dal menu Strumenti e quindi fare clic su Macro.

    Nota

    • In Excel 2007 e versioni successive fare clic su Macro nel gruppo Codice della scheda Sviluppo .
    • Per visualizzare la scheda Sviluppo nella barra multifunzione, fare clic sul pulsante Microsoft Office, scegliere Opzioni di Excel, fare clic sulla categoria Popolari, selezionare la scheda Mostra sviluppatore nella casella di controllo Barra multifunzione e quindi fare clic su OK.
  3. Selezionare la macro Delete_Every_Other_Row e quindi fare clic su Esegui.

Questa macro eliminerà ogni altra riga, a partire dalla seconda riga della selezione.

Nota

Se si dispone di un elenco di dati che contiene più colonne, selezionare solo la prima colonna di dati e quindi eseguire la macro.