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

Come filtrare un elenco ed eliminare le restanti righe nascoste o visibili in Excel?

Per un elenco filtrato, potrebbe essere necessario eliminare le righe nascoste o visibili per conservare solo i dati utili. In questo articolo, ti mostreremo i metodi per eliminare le restanti righe nascoste o visibili di un elenco filtrato in Excel.

Elimina le righe nascoste nel foglio di lavoro attivo con codice VBA
Elimina le righe visibili dell'elenco filtrato selezionando tutte le celle visibili
Elimina facilmente le righe nascoste o visibili dell'elenco filtrato con Kutools per Excel


Elimina le righe nascoste nel foglio di lavoro attivo con codice VBA

Questa sezione ti mostrerà il codice VBA per eliminare le righe nascoste nel foglio attivo. Si prega di fare quanto segue.

1. Attivare il foglio di lavoro necessario per eliminare le righe nascoste, premere altro + F11 tasti contemporaneamente per aprire il file Microsoft Visual Basic, Applications Edition finestra.

2. Nella finestra Microsoft Visual Basic, Applications Edition, fare clic su inserire > Modulo. Quindi copia e incolla il codice VBA sottostante nella finestra del modulo.

Codice VBA: elimina le righe nascoste

Sub RemoveHiddenRows()
	Dim xRow As Range
	Dim xRg As Range
	Dim xRows As Range
	On Error Resume Next
	Set xRows = Intersect(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
	If xRows Is Nothing Then Exit Sub
		For Each xRow In xRows.Columns(1).Cells
			If xRow.EntireRow.Hidden Then
				If xRg Is Nothing Then
					Set xRg = xRow
				Else
					Set xRg = Union(xRg, xRow)
				End If
			End If
		Next
		If Not xRg Is Nothing Then
			MsgBox xRg.Count & " hidden rows have been deleted", , "Kutools for Excel"
			xRg.EntireRow.Delete
		Else
			MsgBox "No hidden rows found", , "Kutools for Excel"
		End If
	End Sub

3. premi il F5 chiave per eseguire il codice. Se ci sono righe nascoste nel foglio attivo, dopo aver eseguito il codice, verrà visualizzata una finestra di dialogo per dirti quante righe nascoste sono state eliminate. Clicca il OK pulsante per eliminare le righe nascoste. Vedi screenshot:

doc elimina resto 1

In caso contrario, dopo aver eseguito il codice verrà visualizzata la seguente finestra di dialogo.

doc elimina resto 1

Note:: il codice VBA sopra non solo può eliminare le righe nascoste dell'elenco filtrato, ma anche eliminare le righe nascoste che hai nascosto manualmente in precedenza.


Elimina le righe visibili dell'elenco filtrato selezionando la funzione di tutte le celle visibili

Per eliminare le righe visibili dell'elenco filtrato, eseguire le operazioni seguenti.

1. Selezionare tutte le righe filtrate e premere F5 chiave per aprire il Vai finestra di dialogo, quindi fare clic su Special pulsante. Vedi screenshot:

doc elimina resto 1

2. Nel Vai a speciale finestra di dialogo, selezionare Solo celle visibili opzione, quindi fare clic su OK pulsante.

doc elimina resto 1

3. Ora tutte le righe visibili sono selezionate, fare clic con il pulsante destro del mouse sulla selezione, quindi fare clic Elimina righe.

doc elimina resto 1

Fino ad ora, tutte le righe visibili vengono eliminate dall'elenco filtrato.


Elimina facilmente le righe nascoste o visibili dell'elenco filtrato con Kutools per Excel

I due metodi precedenti potrebbero non essere le soluzioni desiderate per molti utenti di Excel, qui ti presentiamo uno strumento utile. Con la Elimina righe e colonne nascoste (visibili) utilità di Kutools for Excel, puoi eliminare facilmente le righe nascoste nell'intervallo / fogli selezionati, nel foglio attivo o in tutti i fogli di lavoro in Excel.

Prima di applicare Kutools for Excel, Per favore scaricalo e installalo prima.

1. Se desideri eliminare solo le righe nascoste o visibili di un elenco filtrato, seleziona manualmente l'intervallo filtrato, quindi fai clic su Kutools > Elimina > Elimina righe e colonne nascoste (visibili). Vedi screenshot:

2. Nel Elimina righe e colonne nascoste (visibili) finestra di dialogo, mantenere il file Nell'intervallo selezionato selezionato nel Guarda dentro elenco a discesa (puoi selezionare altre opzioni di cui hai bisogno), controlla il file Righe opzione nel Elimina tipo sezione e nel file Tipo dettagliato sezione, controllare Righe visibili or Righe nascoste opzione di cui hai bisogno. E infine fare clic su OK pulsante.

3. Quindi viene visualizzata una finestra di dialogo per indicare quante righe sono state eliminate, fare clic su OK pulsante.

  Se vuoi avere una prova gratuita (30-day) di questa utilità, fare clic per scaricarlo, quindi andare ad applicare l'operazione secondo i passaggi precedenti.


Elimina le righe nascoste o visibili dell'elenco filtrato con Kutools per Excel


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 (7)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Feedback su: la macro per l'eliminazione delle righe nascoste: l'esecuzione su 900 righe richiede troppo tempo per essere utile. 2+ ore su un Threadripper 1950X OC'd e ancora in esecuzione (doveva terminare l'attività). Un modo per ottimizzarlo per utilizzare più core o è una limitazione VBA?
Questo commento è stato fatto dal moderatore sul sito
Ciao,
Il codice è stato ottimizzato. Per favore, prova. Grazie per il tuo commento.

Sub RimuoviRighe Nascoste()
Dim xFlag As Boolean
Dim xStr, xTemp come stringa
Dim xDiv, xMod finché
Dim I, xCount, xRows As Long
Dim xRg, xCell, xDRg come intervallo
Dim xArr() come stringa
On Error Resume Next
Application.ScreenUpdating = False
Application.EnableEvents = False
Imposta xRg = Interseca(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
Se xRg non è niente, esci da Sub
xRighe = xRg.Righe.Conteggio
Imposta xRg = xRg(1)
xFlag = Vero
xTemp = ""
xConteggio = 0
Per I = 1 A xRighe
Imposta xCell = xRg.Offset(I - 1, 0)
Fai mentre xFlag
Se xCell.EntireRow.Hidden allora
xStr = xCell.Address
xFlag = Falso
Altro
Vai a Ctn
End If
Ciclo continuo
Se xCell.EntireRow.Hidden allora
xTemp = xStr & "," & xCell.Address
End If
Se Len(xTemp) > 171 Allora
xConteggio = xConteggio + 1
ReDim Preserva xArr (da 1 a xCount)
xArr(xCount) = xStr
xStr = xCell.Address
Altro
xStr = xTemp
End If
Ctn:
Successiva
xConteggio = xConteggio + 1
ReDim Preserva xArr (da 1 a xCount)
xArr(xCount) = xStr
For I = xCount To 1 Step -1
Se io = 1 Allora
xStr = Mid(xArr(I), InStr(xArr(I), ",") + 1, Len(xArr(I)) - InStr(xArr(I), ","))
Altro
xStr = xArr(I)
End If
Se xDRg non è niente allora
Imposta xDRg = Intervallo(xStr)
Altro
Imposta xDRg = Unione(xDRg, Intervallo(xStr))
End If
Se (Len(xDRg.Address) >= 244) Oppure (xCount = 1) Allora
xDRg.EntireRow.Delete
Imposta xDRg = Niente
End If
Successiva
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Questo commento è stato fatto dal moderatore sul sito
Fantastico grazie! Esaminerò alla mia prossima occasione/necessità di questo e risponderò.
Questo commento è stato fatto dal moderatore sul sito
Il codice VBA per eliminare le righe nascoste ha funzionato perfettamente senza giocherellare. GRAZIE!!
Questo commento è stato fatto dal moderatore sul sito
Grazie per le informazioni. Questo è stato istruttivo. Per favore, c'è un modo per filtrare ed eliminare numeri specifici in righe fino a 1 milione? Il codice sopra può essere modificato per farlo?
Questo commento è stato fatto dal moderatore sul sito
Ciao,
Siamo spiacenti di non aver testato il codice in dati di riga così enormi. Forse puoi fare una copia dei tuoi dati e verificare se il codice può funzionare.
Questo commento è stato fatto dal moderatore sul sito
Ciao, questo codice VBA è utilissimo.
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