Condividi:        

[Excel] Eliminare le righe vuote

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Excel] Eliminare le righe vuote

Postdi luca2002for » 06/10/06 20:49

Stavolta ho da sottoporre alle menti del forum un problema banale, dal quale però non riesco ad uscire.

Ho cercato in rete e per la verità trovato delle macro teoricamente perfette per questo scopo, ma quando le copio nel mio foglio di lavoro....non eliminano niente.... :-(

In sintesi il problema è:

Come faccio ad eliminare tutte le righe prive di contenuto all'interno del foglio1 in un range che vada dalla riga 1 alla riga 300?

Un grazie anticipato e salutoni a Verona ed Ivrea.

Luca :-)
luca2002for
Utente Senior
 
Post: 116
Iscritto il: 07/05/06 09:32

Sponsor
 

Postdi Alexsandra » 07/10/06 07:48

Codice: Seleziona tutto
Sub eliminarighevuote()
Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

cambia il range con quello che ti serve
ciao
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale.

Win7 + Office 2003 Ita
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Grazie Alex..ma

Postdi luca2002for » 07/10/06 09:40

Ciao e saluti al Veneto.

Grazie per la risposta, ma c'è qualcosa che mi sfugge. Non funziona.

Ho un foglio che si chiama ANALISI DATI e che contiene 4 colonne e circa 300 righe di numeri e testo.

Molte di queste righe sono vuote, quindi l'effetto che vorrei ottenere è quello di "accorpare" le righe piene, favorendo la leggibilità e stampabilità dei dati.

Ho provato a scrivere il codice

Codice: Seleziona tutto
Sub eliminarighevuote()
Application.ScreenUpdating = False
Sheets("ANALISI DATI").Select
Range("A1:D300").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub


Ma quando faccio partire la macro mi dice che non ha trovato celle vuote.

Quindi la macro funziona ma non fa quello che mi servirebbe. Il foglio rimane invariato.

Dove sbaglio, secondo te?

Un saluto Alex, sei sempre gentile :-)

Luca
luca2002for
Utente Senior
 
Post: 116
Iscritto il: 07/05/06 09:32

Postdi Alexsandra » 07/10/06 10:00

Non ho visto che avevi il range su più colonne, pensavo volessi puntare ad una colonna, in questo caso metti questo codice, ho tralasciato il nome del foglio che se è attivo non ti serve
Codice: Seleziona tutto
Sub eliminarighevuote()
With ActiveSheet.UsedRange
alex = .Row + .Rows.Count - 1
End With
Application.ScreenUpdating = False
For r = alex To 1 Step -1
If Application.Count(Rows(r)) = 0 Then Rows(r).Delete
Next r
End Sub
Prova così
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale.

Win7 + Office 2003 Ita
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

FUNZIONA!!

Postdi luca2002for » 07/10/06 14:54

Grande Alex!, funziona alla perfezione.

Ho aggiunto solo un
Codice: Seleziona tutto
 Sheets("ANALISI").Activate
per evitare che per distrazione io faccia partire la macro su un altro foglio ;-)

Come sempre sei mitica, buon fine settimana :-)

Luca
luca2002for
Utente Senior
 
Post: 116
Iscritto il: 07/05/06 09:32

righe vuote

Postdi By Sal » 08/10/06 07:28

Ciao, non era più facile fare un ordinamento è le righe scomparivano, andavano alla fine dell'elenco. Ciao :)
A rileggerci By Sal
Avatar utente
By Sal
Utente Junior
 
Post: 83
Iscritto il: 27/08/06 14:40

Postdi Alexsandra » 08/10/06 08:06

Certo che era più facile Salvatore.
Il problema è che in un campo così vasto in questo applicativo (vba + excel) ogni utente fa una richiesta e non viene mostrato l'effettivo bisogno, o meglio, il contesto in cui viene utilizzato il codice proposto.

sarebbe bella cosa creare una regola di postare un esempio del programma che uno sta facendo e così si potrebbe suggerire la soluzione più ideale e semplice
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale.

Win7 + Office 2003 Ita
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi thunder78 » 23/05/07 08:49

Ciao a tutti. Anch' io ho utilizzato la macro sopra ma togliendo lo screen updating, perchè ho accorpato l'istruzione a una macro più grande. la macro funziona ma mi toglie anche le intestazioni di colonna.
Perchè?

Grazie. Marco.
thunder78
Utente Junior
 
Post: 45
Iscritto il: 30/04/07 22:17

Postdi Anthony47 » 23/05/07 14:13

Ciao,
pprova a usare questa istruzione al posto di quella originale:
Codice: Seleziona tutto
For r = alex To 2 Step -1


Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi thunder78 » 23/05/07 17:32

Come sempre puntuale, preciso e soprattutto RISOLUTIVO!

Grazie.
thunder78
Utente Junior
 
Post: 45
Iscritto il: 30/04/07 22:17


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Eliminare le righe vuote":


Chi c’è in linea

Visitano il forum: Nessuno e 51 ospiti