VBA per nascondere le righe in Excel (14 metodi)

  • Condividi Questo
Hugh West

A volte è necessario nascondere alcune righe specifiche quando si utilizza un set di dati di grandi dimensioni in Excel per una migliore leggibilità. Implementazione di Macro VBA è il metodo più efficace, più rapido e più sicuro per eseguire qualsiasi operazione in Excel. In questo articolo vi mostreremo come nascondere le righe in Excel in base a diversi criteri utilizzando la macro VBA.

Scarica il libro di lavoro

Potete scaricare la cartella di lavoro Excel gratuita da qui.

Nascondere le righe con VBA.xlsm

14 metodi con VBA per nascondere le righe in Excel

In questa sezione verranno discussi 12 diversi metodi con VBA a nascondere le righe L'esempio che utilizzeremo in tutto l'articolo è riportato di seguito.

1. Incorporare VBA per nascondere una singola riga in Excel

Se si vuole nascondere una singola riga con VBA e poi seguire i passaggi illustrati di seguito. Nel nostro caso, seguiremo i seguenti passaggi nascondere la riga numero 5 ( Cognome ) dal nostro set di dati.

Passi:

  • Stampa Alt + F11 sulla tastiera o andare alla scheda Sviluppatore -> Visual Basic per aprire Editor Visual Basic .

  • Nella finestra del codice a comparsa, dalla barra dei menu, fare clic su Inserire -> Modulo .

  • Copiare il codice seguente e incollarlo nella finestra del codice.
 Sub HideSingleRow() Worksheets("Single").Range("5:5").EntireRow.Hidden = True End Sub 

Il codice è ora pronto per essere eseguito.

Qui,

  • Fogli di lavoro("Singolo") = Impostare il nome del foglio di lavoro.
  • Intervallo("5:5") = Passare fila numero 5 all'interno del Gamma metodo.

  • Stampa F5 sulla tastiera o dalla barra dei menu selezionare Esegui -> Esegui Sub/UserForm È anche possibile fare clic sul pulsante piccola icona Play nella barra dei sottomenu per eseguire la macro.

Si noti nell'immagine sottostante, fila numero 5 è nascosto dopo l'esecuzione del metodo VBA codice.

Per saperne di più: Formula per nascondere le righe in Excel (7 metodi)

2. Inserire una macro per nascondere le righe contigue in Excel

Si è appreso come nascondere una singola riga con VBA Ma supponiamo che vogliate nascondere un intervallo di righe che sono contiguo Si può fare anche questo con VBA in Excel. nascondersi righe da 5 a 7 dal nostro set di dati mostrato sopra.

Passi:

  • Allo stesso modo di prima, aprire Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
  • Nella finestra del codice, copiare il codice seguente e incollarlo.
 Sub HideContiguousRows() Worksheets("Contiguous").Range("5:7").EntireRow.Hidden = True End Sub 

Il codice è ora pronto per essere eseguito.

Qui,

  • Fogli di lavoro("Contiguo") = Impostare il nome del foglio di lavoro.
  • Intervallo("5:7") = Passare numero di fila da 5 a 7 all'interno del Gamma metodo.

  • Correre questo codice e vedere nell'immagine seguente che file da 5 a 7 sono ora nascosti.

Per saperne di più: Come nascondere e togliere le righe in Excel (6 modi più semplici)

3. Macro incorporata per secernere righe non contigue

Questa volta imparerete a nascondere le righe in Excel che sono non contiguo con VBA Con il nostro set di dati, il codice per nascondersi file 5, 6, 8 e 9 sono riportati di seguito.

Passi:

  • Come mostrato in precedenza, l'apertura Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
  • Nella finestra del codice, copiare il codice seguente e incollarlo.
 Sub HideNonContiguousRows() Worksheets("Non-Contiguous").Range("5:6, 8:9").EntireRow.Hidden = True End Sub 

Il codice è ora pronto per essere eseguito.

Qui,

  • Fogli di lavoro("Non contigui") = Impostare il nome del foglio di lavoro.
  • Intervallo("5:6, 8:9") = Passare numero di fila da 5 a 6 e Da 8 a 9 all'interno del Gamma metodo.

  • Correre questo pezzo di codice e vedere che file da 5 a 6 e 8-9 sono nascosti nell'immagine seguente.

Per saperne di più: Come nascondere le righe in Excel (6 metodi efficaci)

4. Macro per nascondere tutte le righe contenenti testo in Excel

Se si vuole nascondere tutte le righe che contengono testo e seguire la procedura descritta di seguito.

Passi:

  • Aperto Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
  • Nella finestra del codice, copiare il codice seguente e incollarlo.
 Sub HideAllRowsContainsText() LastRow = 1000 'Supponiamo che ci siano 1000 righe nel dataset For i = 1 To LastRow 'Eseguire un loop su ogni riga e verificare la condizione richiesta 'Nascondere tutte le righe con i dati di testo If IsNumeric(Range("C" & i)) = False Then Rows(i).EntireRow.Hidden = True Next End Sub 

Il codice è ora pronto per essere eseguito.

Qui,

  • IsNumeric(Range("C" & i)) = I dati del nostro set di dati partono da colonna C, così abbiamo passato C all'interno del Gamma metodo.

  • Correre questo codice e noterete tutte le righe che erano contenente testo sono ora nascosti.

Per saperne di più: Come nascondere più righe in Excel (9 metodi)

5. Macro per nascondere tutte le righe contenenti numeri in Excel

E se volete nascondere tutte le righe contenenti valori numerici con VBA seguire la procedura descritta di seguito.

Passi:

  • Aperto Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
  • Nella finestra del codice, copiare il codice seguente e incollarlo.
 Sub HideAllRowsContainsNumbers() LastRow = 1000 'Supponiamo che ci siano 1000 righe nel dataset For i = 4 To LastRow 'Eseguiamo un loop su ogni riga e controlliamo la condizione richiesta 'Impostiamo i = 4 perché i nostri dati iniziano dalla riga 4 'Per nascondere tutte le righe con i dati numerici If IsNumeric(Range("C" & i)) = True Then Rows(i).EntireRow.Hidden = True Next End Sub 

Il codice è ora pronto per essere eseguito.

Qui,

  • IsNumeric(Range("C" & i)) = I dati del nostro set di dati partono da colonna C, così abbiamo passato C all'interno del Gamma metodo.

  • Correre questo codice e notare che tutte le righe che erano contenenti valori numerici prima sono ora nascosti.

Per saperne di più: Nascondere le righe duplicate in base a una colonna in Excel (4 metodi)

6. Macro per nascondere le righe contenenti zero (0) in Excel

Si supponga di voler nascondere solo le righe di una colonna specifica che sono tenendo 0 (zero) Osservate il seguente set di dati in cui il Colonna E prese 0 in riga 7 e 82 in fila 10 Impareremo come nascondere solo la riga che contiene 0 ( riga 7 ) con VBA in Excel.

Passi:

  • Aperto Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
  • Nella finestra del codice, copiare il codice seguente e incollarlo.
 Sub HideRowContainsZero() LastRow = 1000 'Supponiamo che ci siano 1000 righe nel dataset For i = 4 To LastRow 'Eseguiamo un loop su ogni riga e verifichiamo la condizione richiesta 'Impostiamo i = 4 perché i nostri dati iniziano dalla riga 4 'Per nascondere la riga contenente 0 nella colonna E If Range("E" & i) = 0 Then Rows(i).EntireRow.Hidden = True Next End Sub 

Il codice è ora pronto per essere eseguito.

  • Correre questo codice e notate che la riga ( riga 7 ) che contenevano 0 in colonna E è ora nascosto mentre fila 10 che trasporta 82 non è nascosto.

Per saperne di più: Come nascondere le righe vuote in Excel VBA (4 metodi utili)

7. Implementare la macro per nascondere le righe con valori negativi in Excel

Così come si possono nascondere le righe che contengono zero dalla stessa colonna, si può nascondere le righe con valori negativi Con il set di dati mostrato di seguito dove colonna E contiene sia valori negativi che positivi, vedremo il codice che nasconde solo quello negativo.

Passi:

  • Aperto Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
  • Nella finestra del codice, copiare il codice seguente e incollarlo.
 Sub HideRowContainsNegative() LastRow = 1000 'Supponiamo che ci siano 1000 righe nel dataset For i = 4 To LastRow 'Eseguiamo un loop su ogni riga e verifichiamo la condizione richiesta 'Impostiamo i = 4 perché i nostri dati iniziano dalla riga 4 'Per nascondere la riga contenente valori negativi nella colonna E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Il codice è ora pronto per essere eseguito.

  • Correre questo codice e notare che riga 7 che conteneva un valore negativo (-10) in colonna E è ora nascosto mentre fila 10 che trasporta 82 non è nascosto.

8. Incorporare VBA per nascondere le righe contenenti valori positivi in Excel

Questa volta con il set di dati riportato di seguito dove colonna E contiene entrambi valori positivi pari a zero, si vedrà che il VBA codice che nasconde solo quello positivo .

Passi:

  • Aperto Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
  • Nella finestra del codice, copiare il codice seguente e incollarlo.
 Sub HideRowContainsPositive() LastRow = 1000 'Supponiamo che ci siano 1000 righe nel dataset For i = 4 To LastRow 'Eseguiamo un loop su ogni riga e verifichiamo la condizione richiesta 'Impostiamo i = 4 perché i nostri dati iniziano dalla riga 4 'Per nascondere la riga contenente valori positivi nella colonna E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Il codice è ora pronto per essere eseguito.

  • Correre questo codice e notare che riga 7 che conteneva un valore positivo (55) in colonna E è ora nascosto mentre fila 10 che trasporta 0 non è nascosto.

Per saperne di più: VBA per nascondere le righe in base al valore della cella in Excel (14 esempi)

9. Macro per nascondere le righe contenenti numeri dispari in Excel

È possibile nascondere le righe con numeri dispari Nell'esempio mostrato all'inizio di questo articolo, colonna E è contenere sia i numeri pari che quelli dispari in file 7 e 10 Impareremo il codice di nascondere la riga che tiene numeri dispari solo.

Passi:

  • Aperto Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
  • Nella finestra del codice, copiare il codice seguente e incollarlo.
 Sub HideRowContainsOdd() LastRow = 1000 'Supponiamo che ci siano 1000 righe nel dataset For i = 4 To LastRow 'Eseguiamo un loop su ogni riga e controlliamo la condizione richiesta 'Impostiamo i = 4 perché i nostri dati iniziano dalla riga 4 'Per nascondere la riga contenente valori positivi nella colonna E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) Mod 2 = 1 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Il codice è ora pronto per essere eseguito.

  • Correre questo pezzo di codice e vedere che solo riga 7 che conteneva un numero dispari (55) in colonna E è ora nascosto mentre fila 10 che trasporta un numero pari (82) non è nascosto.

10. VBA per nascondere le righe contenenti numeri pari in Excel

Allo stesso modo, è possibile nascondere le righe con numeri pari Nell'esempio mostrato all'inizio di questo articolo, colonna F è contenere sia i numeri pari che quelli dispari in file 7 e 10 Impareremo il codice di nascondere la riga che contiene numeri pari solo.

Passi:

  • Aperto Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
  • Nella finestra del codice, copiare il codice seguente e incollarlo.
 Sub HideRowContainsEven() LastRow = 1000 'Supponiamo che ci siano 1000 righe nel dataset For i = 4 To LastRow 'Eseguiamo un loop su ogni riga e controlliamo la condizione richiesta 'Impostiamo i = 4 perché i nostri dati iniziano dalla riga 4 'Per nascondere la riga contenente valori positivi nella colonna F If IsNumeric(Range("F" & i)) = True Then If Range("F" & i) Mod 2 = 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Il codice è ora pronto per essere eseguito.

  • Correre questo codice e vedere che solo riga 7 che conteneva un numero pari (100) in colonna F è ora nascosto mentre fila 10 che trasporta un numero dispari (75) non è nascosto.

Per saperne di più: Excel VBA: nascondere tutte le righe in Excel (5 esempi pratici)

11. Inserire la macro per nascondere le righe superiori a una condizione specifica

È possibile nascondere le righe maggiori di un valore specifico con VBA Excel. Supponiamo di voler nascondere le righe da colonna E dove il valore è superiore all'80 Ecco come fare:

Passi:

  • Aperto Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
  • Nella finestra del codice, copiare il codice seguente e incollarlo.
 Sub HideRowContainsGreater() LastRow = 1000 'Supponiamo che ci siano 1000 righe nel dataset For i = 4 To LastRow 'Eseguiamo un loop su ogni riga e verifichiamo la condizione richiesta 'Impostiamo i = 4 perché i nostri dati iniziano dalla riga 4 'Per nascondere la riga contenente valori positivi nella colonna E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Il codice è ora pronto per essere eseguito.

  • Correre questo codice e vedere che solo fila 10 che conteneva 82 (che è maggiore di 80) in colonna E è ora nascosto mentre riga 7 che trasporta 55 non è nascosto.

Per saperne di più: Nascondere le righe in base al valore della cella con la formattazione condizionale in Excel

12. Macro incorporata per coprire le righe inferiori a una condizione specifica in Excel

È inoltre possibile nascondere le righe che sono inferiori a un valore specifico con VBA Excel. Supponiamo di voler nascondere le righe da colonna E dove il valore è meno dell'80 Ecco come fare:

Passi:

  • Aperto Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
  • Nella finestra del codice, copiare il codice seguente e incollarlo.
 Sub HideRowContainsLess() LastRow = 1000 'Supponiamo che ci siano 1000 righe nel dataset For i = 4 To LastRow 'Eseguiamo un loop su ogni riga e verifichiamo la condizione richiesta 'Impostiamo i = 4 perché i nostri dati iniziano dalla riga 4 'Per nascondere la riga contenente valori positivi nella colonna E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Il codice è ora pronto per essere eseguito.

  • Correre questo codice e vedere che solo riga 7 che conteneva 55 (che è inferiore a 80) in colonna E è ora nascosto mentre fila 10 cioè trasporto 82 non è nascosto.

13. Nascondere le righe in base al valore del testo della cella con la macro

Supponiamo di voler nascondere una riga che contiene un testo specifico Nel nostro caso, faremo un esempio con la riga che contiene la parola " Chimica ", riga 6 e vi fornirà il codice per nascondere la riga.

Passi:

  • Aperto Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
  • Nella finestra del codice, copiare il codice seguente e incollarlo.
 Sub HideRowCellTextValue() StartRow = 4 LastRow = 10 iCol = 4 For i = StartRow To LastRow If Cells(i, iCol).Value "Chemistry" Then Cells(i, iCol).EntireRow.Hidden = False Else Cells(i, iCol).EntireRow.Hidden = True End If Next i End Sub 

Il codice è ora pronto per essere eseguito.

Qui,

  • InizioRiga = 4 - Prima fila del set di dati.
  • LastRow = 10 - Ultima riga del set di dati.
  • iCol = 4 -Il indirizzo della colonna che contiene il testo valore.

  • Correre questo codice e notare che fila numero 6 che consiste nella parola " Chimica " è nascosto.

14. Macro per nascondere le righe in base al valore numerico della cella in Excel

In precedenza abbiamo visto come nascondere una riga in base al valore del testo della cella, questa volta impareremo a farlo quando il valore di il valore è numerico Nel nostro caso, faremo un esempio con la riga che contiene il valore numerico " 87 ", riga 7 e vi fornirà il codice per nascondere la riga.

Passi:

  • Aperto Editor Visual Basic dal Sviluppatore e Inserire a Modulo nella finestra del codice.
  • Nella finestra del codice, copiare il codice seguente e incollarlo.
 Sub HideRowCellNumValue() StartRow = 4 LastRow = 10 iCol = 4 For i = StartRow To LastRow If Cells(i, iCol).Value "87" Then Cells(i, iCol).EntireRow.Hidden = False Else Cells(i, iCol).EntireRow.Hidden = True End If Next i End Sub 

Il codice è ora pronto per essere eseguito.

Qui,

  • InizioRiga = 4 - Prima fila del set di dati.
  • LastRow = 10 - Ultima riga del set di dati.
  • iCol = 4 -Il indirizzo della colonna che contiene il testo valore.

  • Correre questo codice e notare che riga numero 7 che consiste nel valore numerico " 87 " è nascosto.

Per saperne di più: Come nascondere le righe in base al valore della cella in Excel (5 metodi)

Conclusione

Questo articolo vi ha mostrato come nascondere le righe in Excel con VBA Spero che questo articolo vi sia stato di grande aiuto. Non esitate a chiedere se avete domande sull'argomento.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.