Note: The other languages of the website are Google-translated. Back to English

Come nascondere automaticamente le righe se le celle vuote in una colonna?

Se disponi di un intervallo di dati che popola alcune celle vuote in una colonna e ora, desideri nascondere automaticamente le righe che contengono le celle vuote in quella colonna. Esistono buoni modi per risolvere questo lavoro in Excel in modo rapido e semplice?

Nascondi automaticamente le righe se celle vuote in una colonna con codice VBA


freccia blu freccia destra Nascondi automaticamente le righe se celle vuote in una colonna con codice VBA

Il codice seguente può aiutarti a nascondere tutte le righe se celle vuote in una colonna specifica contemporaneamente e se elimini il contenuto della cella in quella colonna, anche le righe verranno nascoste automaticamente. Si prega di fare quanto segue:

1. Fare clic con il pulsante destro del mouse sulla scheda del foglio in cui si desidera nascondere automaticamente le righe se sono presenti celle vuote in una colonna, quindi scegliere Visualizza codice dal menu contestuale, nel saltato fuori Microsoft Visual Basic, Applications Edition finestra, copia e incolla il seguente codice nello spazio vuoto Modulo:

Codice VBA: nascondi automaticamente le righe se celle vuote in una colonna:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xRg As Range
    Application.ScreenUpdating = False
        For Each xRg In Range("A1:A20")
            If xRg.Value = "" Then
                xRg.EntireRow.Hidden = True
        
            Else
                xRg.EntireRow.Hidden = False
            End If
        Next xRg
    Application.ScreenUpdating = True
End Sub

doc nascondi automaticamente le righe 1

Note:: Nel codice sopra, A1: A20 è l'elenco dei dati che contiene le celle vuote che desideri nascondere automaticamente.

2. Quindi torna al foglio di lavoro e ora, quando fai doppio clic su una cella e premi Entra chiave, le righe che contengono celle vuote nella colonna A sono state nascoste in una volta e se si cancella qualsiasi contenuto di cella nelle celle specificate della colonna A, le righe verranno nascoste automaticamente.

doc nascondi automaticamente le righe 2

 


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab

 

Commenti (32)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Ciao, sto usando excel 2016 e non funziona. Ricevo un messaggio di errore di sintassi. Puoi aiutare?
Questo commento è stato fatto dal moderatore sul sito
Ciao, Formica,

Il codice sopra funziona bene nel mio Excel 2016, hai modificato il riferimento di cella nel codice in base alle tue esigenze?
Questo commento è stato fatto dal moderatore sul sito
Ottengo un errore di runtime ´13´:



Digitare la mancata corrispondenza



Qualcuno che può aiutare???
Questo commento è stato fatto dal moderatore sul sito
Posso interrompere l'esecuzione automatica di questa macro dopo aver premuto invio? Posso allegarlo a un pulsante per nascondere solo le celle quando faccio clic?
Questo commento è stato fatto dal moderatore sul sito
qualcuno l'ha mai capito? anch'io vorrei saperlo.
Questo commento è stato fatto dal moderatore sul sito
qualcuno ha già avuto la risposta?
Questo commento è stato fatto dal moderatore sul sito
stessa domanda qui
Questo commento è stato fatto dal moderatore sul sito
Ciao ragazzi,
Per nascondere le righe in cui una colonna specifica contiene celle vuote utilizzando un pulsante, eseguire le operazioni seguenti:
Innanzitutto, dovresti inserire un pulsante di comando dalla scheda Sviluppatore.
Quindi applica il seguente codice VBA per il pulsante di comando (Nota: cambia il riferimento di cella a1: a20 con il tuo)

Private Sub CommandButton1_Click ()
Dim rng come intervallo, x come intervallo
Imposta rng = Intervallo ("a1:a20")
Application.ScreenUpdating = False
Per ogni x In rng
Se Len(x.Text) = 0 Allora
x.EntireRow.Hidden = Vero
Altro
x.EntireRow.Hidden = Falso
End If
Prossimo x
Application.ScreenUpdating = True
End Sub

Per favore, provalo, spero che possa aiutarti!
Questo commento è stato fatto dal moderatore sul sito
come nascondere automaticamente le righe se le celle vuote in 2 colonne diverse con codice VBA
Questo commento è stato fatto dal moderatore sul sito
Ciao, salpe,
Per nascondere automaticamente le righe se le celle vuote in 2 colonne diverse, applica il seguente codice:

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xRg, xCell come intervallo
Dim xRgs, xRgArea come intervallo
Imposta xRgs = Intervallo("A1:A22,D1:D22")
Application.ScreenUpdating = False
In caso di errore Vai a Ctn
Per ogni xRgArea in xRgs.Areas
Debug.Print xRgArea.Address
Per ogni xRg in xRgArea.Columns
Per ogni xCell in xRg.Rows
Se xCell.Value = "" Allora
xCell.EntireRow.Hidden = Vero
Vai a Ctn
ElseIf Not xCell.EntireRow.Hidden Then
xCell.EntireRow.Hidden = Falso
End If
Ctn:
Successiva
Successiva
Successiva
Application.ScreenUpdating = True
End Sub

È possibile modificare i riferimenti delle celle in base alle proprie esigenze.
Per favore, provalo!
Questo commento è stato fatto dal moderatore sul sito
ب XNUMX
Questo commento è stato fatto dal moderatore sul sito
Voglio sapere se il codice funzionerà Se la cella è vuota a causa di Formula ?
Questo commento è stato fatto dal moderatore sul sito
Ciao, ACHINTA,
Il codice VBA sopra viene applicato anche alle celle vuote come risultato della formula, potresti provarlo, grazie!
Questo commento è stato fatto dal moderatore sul sito
La formula funziona per nascondere le celle in base alle informazioni, all'inizio, ma non rivela nuovamente le celle se il loro contenuto cambia. Voglio che riveli tutte le nuove celle che sono state riempite di informazioni (che si verifica tramite una ricerca di celle). Come faccio a fare questo?
Questo commento è stato fatto dal moderatore sul sito
Bom dia, esta é minha necessidade também.

Preciso ocultar e quando a célula for preenchida (usa una formula que preenche a mesma se houver valor em outra planilha) seja reexibida a linha novamente de forma automática.

Grato.
Questo commento è stato fatto dal moderatore sul sito
Quello che voglio è qualcosa del genere per funzionare nel foglio attivo:

Se le celle D2:D55 = ""
Quindi Hide.EntireRow

Se le celle D2:D55 = "ha un valore"
Quindi Mostra.InteraRiga

Come?
Questo commento è stato fatto dal moderatore sul sito
Ciao, Kacha, devi solo cambiare il riferimento di cella nel codice nel tuo intervallo di celle come di seguito: Private Sub Worksheet_Change (ByVal Target As Range)
'Aggiorna entro Extendoffice
Dim xRg come intervallo
Application.ScreenUpdating = False
Per ogni xRg nell'intervallo ("D2: D55")
Se xRg.Value = "" Allora
xRg.EntireRow.Hidden = Vero

Altro
xRg.EntireRow.Hidden = Falso
End If
Prossimo xRg
Application.ScreenUpdating = True
End SubDopo aver inserito il codice, ricorda di fare doppio clic su qualsiasi cella e premere il tasto Invio per rendere effettivo il codice.
Questo commento è stato fatto dal moderatore sul sito
Qual è il modo più semplice per annullare l'auto-nascondimento?
Questo commento è stato fatto dal moderatore sul sito
Ciao, mình có dùng 2 codice trong 1 file excel (1 codice là của bạn) với mục đích in ra những bản riêng biệt và không bị thừa dòng trống. Khi mình ấn in từng bản thì ok nhưng nếu in 1 loạt thì code Nascondi không có tác dụng, bạn xem giúp mình với nhé, mình cảm ơn!

Sub PRINT_PRINT()
Dim rng come intervallo, x come intervallo
Imposta rng = Intervallo ("a16:a23")
Application.ScreenUpdating = False
Per ogni x In rng
Se Len(x.Text) = 0 Allora
x.EntireRow.Hidden = Vero
Altro
x.EntireRow.Hidden = Falso
End If
Prossimo x
Application.ScreenUpdating = True


Attenuare p1, p2, i&
p1 = Foglio1.Intervallo("O1").Valore
p2 = Foglio1.Intervallo("O2").Valore
Se IsNumeric(p1) = False o IsNumeric(p2) = False allora
tb = MsgBox("Così code phai la so.", , "Thông báo")
Exit Sub
End If
Se p1 > p2 Allora
tb = MsgBox("So code sau phai >= so code truoc.", , "Thông báo")
Exit Sub
End If
Se p1 < 1 O p2 < 1 Allora
tb = MsgBox("Così codice phai >= 1.", , "Thông báo")
Exit Sub
End If
Se p1 <= p2 Allora
Per i = p1 A p2
Foglio1.Intervallo("M2").Valore = i
Foglio1.Stampa
Successiva
End If
End Sub
Questo commento è stato fatto dal moderatore sul sito
Hola, Necesito crear una macro que me oculte una columna.Sería así: en la primera fila poner un 1 a las columnas que no quiero ocultar y no poner ningún valor a las columnas que quiero ocultar. Estoy haciendo el siguiente código, pero no se en que fallo:
Sub OcultarColumnaSin1()
Application.ScreenUpdating = False
Per ogni rango in colonne
Se rango = "" Allora
rango.EntireColumn.Hidden = Vero
Altro
rango.EntireColumn.Hidden = Falso
End If
Prossimo rango
Application.ScreenUpdating = True
End Sub
Questo commento è stato fatto dal moderatore sul sito
Funziona benissimo per me, nasconde le righe e le apre quando i miei valori cambiano in base alle formule. La domanda che ho è che il mio foglio è lungo 104 righe. Si agita per un po' ogni volta che clicco su una cella. Un modo per accelerare la transizione quando viene attivato? O è il mio computer? Grazie!
Questo commento è stato fatto dal moderatore sul sito
Vorrei nascondere automaticamente le righe se la colonna E è vuota o 0
Questo commento è stato fatto dal moderatore sul sito
Se il valore nella colonna E è vuoto o 0 vorrei che la riga si nascondesse automaticamente. Se il valore in E cambia in qualcosa di diverso da vuoto o 0, vorrei che mostrasse. Il rapporto è di 1500 righe
Questo commento è stato fatto dal moderatore sul sito
Ciao, Cathy,
Per nascondere automaticamente le righe in base a celle vuote o valori 0, utilizzare il codice vba seguente:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xRg As Range
    Application.ScreenUpdating = False
        For Each xRg In Range("E1:E1500")
            If (xRg.Value = "") Or (xRg.Value = "0") Then
                xRg.EntireRow.Hidden = True
            Else
                xRg.EntireRow.Hidden = False
            End If
        Next xRg
    Application.ScreenUpdating = True
End Sub


Per favore, prova, spero che possa aiutarti!
Questo commento è stato fatto dal moderatore sul sito
Come nascondere la riga che contiene la casella di controllo?
Questo commento è stato fatto dal moderatore sul sito
Ciao, Sweta

Per nascondere le righe con la casella di controllo, l'articolo seguente potrebbe farti un favore:
Come nascondere la casella di controllo quando la riga è nascosta in Excel?

Prova, se hai ancora altre domande, commenta qui.
Questo commento è stato fatto dal moderatore sul sito
Quando si esegue il codice in Office 2013/2019/2021 funziona ma richiede troppo tempo per essere completato (solo 95 righe da nascondere).
Come puoi accelerare questo?
Grazie!
Questo commento è stato fatto dal moderatore sul sito
Ciao, Asaf,
Il codice funziona bene nel mio file Excel, potresti caricare qui la tua cartella di lavoro allegato se non ti dispiace? In modo che possiamo aiutare a controllare il problema.

.
Questo commento è stato fatto dal moderatore sul sito
apakah ada rumus lain?, saya berharap baris kosong itu akan terhapus saat mencetak file menjadi PDF tapi tampilan di excelnya tetap
Questo commento è stato fatto dal moderatore sul sito
Ciao, Nurjanah
Per risolvere il tuo problema, devi prima nascondere le righe vuote, quindi stampare i dati, dopo aver stampato i dati, devi mostrare di nuovo le righe vuote. Per favore, fai come segue:
1. Applica questa formula: =COUNTA(A2:E2) accanto ai tuoi dati, vedi screenshot:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-1.png
2. Quindi, filtra la nuova colonna vuota dell'assistente, nascondi tutte le righe di valore 0, vedi screenshot:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-2.png
3. E poi, dovresti nascondere la nuova colonna Vuota e stampare i dati, dopo aver stampato il foglio di lavoro, annulla il filtro per mostrare le righe vuote di cui hai bisogno.
Per favore, prova, spero che possa aiutarti!
Questo commento è stato fatto dal moderatore sul sito
Salve, ho problemi con l'"automazione" della macro. Sto cercando un modo per far funzionare il codice come processo automatizzato senza la necessità di eseguire "manualmente" la macro. ho usato la mia variante del tuo codice perché ho riscontrato problemi nell'usare il tuo codice. Questa è la mia variante:

Sub NascondiRighe()
Dim xRg come intervallo
Application.ScreenUpdating = False
Per ogni xRg nell'intervallo ("A3: A800")
If (xRg.Value = "") Allora
xRg.EntireRow.Hidden = Vero
Altro
xRg.EntireRow.Hidden = Falso
End If
Prossimo xRg
Application.ScreenUpdating = True
End Sub

Sto cercando di creare un foglio di calcolo che richieda valori in continua evoluzione, quindi richiederebbe un vero e proprio processo "automatizzato". Sono relativamente nuovo in VBA e se il tuo codice soddisfa già i miei requisiti, ti dispiacerebbe aiutarmi/insegnarmi ad applicarlo in VBA? Grazie.
Questo commento è stato fatto dal moderatore sul sito
Ciao, Vian
Infatti, il codice nel nostro articolo può essere eseguito automaticamente.
È necessario copiare e incollare il codice nel modulo di codice del foglio di lavoro corrente, quindi tornare al foglio di lavoro, fare doppio clic su qualsiasi cella e premere il tasto Entra chiave, la riga contenente la cella vuota sarà nascosta direttamente.

Segui il metodo in questo articolo passo dopo passo, spero che possa aiutarti!
.
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL