Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro nascondi 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

Macro nascondi righe vuote

Postdi statam » 29/07/16 14:28

Salve a tutti,
è possibile, senza utilizzare alcun filtro, fare una macro da attaccare ad un pulsante il quale, cliccandoci sopra, nasconda tutte le righe vuote del foglio?

per righe vuote intendo che non ci siano informazioni in nessuna cella dell'intera riga
statam
Utente Junior
 
Post: 47
Iscritto il: 30/12/15 19:30

Sponsor
 

Re: Macro nascondi righe vuote

Postdi Marius44 » 29/07/16 15:37

Ciao
Prova con questa macro
Codice: Seleziona tutto
Sub Nascondi_Riga_Vuota()
Dim uRig As Double, uCol As Double, i As Long, j As Long
    'Trova l'ultima riga
    uRig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
    'Trova l'ultima colonna
    uCol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
    For i = uRig To 1 Step -1
        For j = 1 To uCol
            If Not IsEmpty(Cells(i, j)) Then GoTo 1
        Next j
        riga = i & ":" & i
        Rows(riga).EntireRow.Hidden = True
1   Next i
End Sub


Fai sapere. Ciao,
Mario
Marius44
Utente Senior
 
Post: 143
Iscritto il: 07/09/15 22:00

Re: Macro nascondi righe vuote

Postdi statam » 30/07/16 16:22

Marius44 ha scritto:Ciao
Prova con questa macro
Codice: Seleziona tutto
Sub Nascondi_Riga_Vuota()
Dim uRig As Double, uCol As Double, i As Long, j As Long
    'Trova l'ultima riga
    uRig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
    'Trova l'ultima colonna
    uCol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
    For i = uRig To 1 Step -1
        For j = 1 To uCol
            If Not IsEmpty(Cells(i, j)) Then GoTo 1
        Next j
        riga = i & ":" & i
        Rows(riga).EntireRow.Hidden = True
1   Next i
End Sub


Fai sapere. Ciao,
Mario


Non mi funziona :(
In realtà (scusa perchè non l'ho detto) nel mio foglio le mie celle "vuote" hanno delle formule con degli if --> praticamente se la condizione è falsa riporta cella vuota altrimenti prende il dato. Perciò le mie celle vuote da nascondere cliccando sul pulsante con la macro sarebbero quelle celle in cui si verifica la condizione falsa dell'if!

Inoltre il mio foglio ha parecchi dati quindi mi converrebbe a inserire questi pulsanti a ogni tot porzioni di foglio tipo dalla riga 1 alla riga 100. Poi fare un altro pulsante dalla riga 101 alla riga 200 e così via (quindi con la stessa macro ma con range diverso).

E' una cosa fattibile?

Grazie mille
statam
Utente Junior
 
Post: 47
Iscritto il: 30/12/15 19:30

Re: Macro nascondi righe vuote

Postdi Marius44 » 01/08/16 07:52

Ciao
rispondo alle tue precisazioni/domande:
1) la macro che ti posto (leggermente riveduta rispetto alla precedente) nasconde le righe con eventuali formule il cui risultato sia "";
2) non hai bisogno di mettere un pulsante ogni tot righe, fai così: blocca le prime due o tre righe del tuo foglio (ed eventualmente la prima colonna) ed inserisci il tuo pulsante nella zona che rimane fissa.
Codice: Seleziona tutto
Sub Nascondi_Riga_Vuota_Due()
Dim uRig As Double, uCol As Double, i As Long, j As Long
    'Trova l'ultima riga
    uRig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
    'Trova l'ultima colonna
    uCol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
    For i = uRig To 1 Step -1
        For j = 1 To uCol
            If Cells(i, j) = "" Then
                aa = aa + 1
                 If aa = uCol Then Exit For
            Else
                GoTo 1
            End If
'            If Not IsEmpty(Cells(i, j)) Then GoTo 1
        Next j
        riga = i & ":" & i
        Rows(riga).EntireRow.Hidden = True
1   aa = 0
    Next i
End Sub


Come al solito, prova e fai sapere. Ciao,
Mario
Marius44
Utente Senior
 
Post: 143
Iscritto il: 07/09/15 22:00

Re: Macro nascondi righe vuote

Postdi statam » 09/08/16 20:05

Marius44 ha scritto:Ciao
rispondo alle tue precisazioni/domande:
1) la macro che ti posto (leggermente riveduta rispetto alla precedente) nasconde le righe con eventuali formule il cui risultato sia "";
2) non hai bisogno di mettere un pulsante ogni tot righe, fai così: blocca le prime due o tre righe del tuo foglio (ed eventualmente la prima colonna) ed inserisci il tuo pulsante nella zona che rimane fissa.
Codice: Seleziona tutto
Sub Nascondi_Riga_Vuota_Due()
Dim uRig As Double, uCol As Double, i As Long, j As Long
    'Trova l'ultima riga
    uRig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
    'Trova l'ultima colonna
    uCol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
    For i = uRig To 1 Step -1
        For j = 1 To uCol
            If Cells(i, j) = "" Then
                aa = aa + 1
                 If aa = uCol Then Exit For
            Else
                GoTo 1
            End If
'            If Not IsEmpty(Cells(i, j)) Then GoTo 1
        Next j
        riga = i & ":" & i
        Rows(riga).EntireRow.Hidden = True
1   aa = 0
    Next i
End Sub


Come al solito, prova e fai sapere. Ciao,
Mario


Non funziona, o meglio nasconde le righe vuote laddove non ci sono dati.
Io invece in un foglio ho diverse tabelle (tante) contenenti diversi dati e formule all'interno e vorrei nascondere solo le righe vuote all'interno della tabella (le righe vuote si presentano quando il risultato della formula è "").

Dunque diventa anche una necessità farlo a porzioni (ogni tot righe) uno perchè sennò cliccando il pulsanto con la macro ci impiega diversi minuti in cui rimane bloccato e due perchè essendo tante tabelle in questo modo posso decidere di nascondere le righe vuote di una sola di queste tabelle.

Grazie mille per il tuo aiuto Mario!
statam
Utente Junior
 
Post: 47
Iscritto il: 30/12/15 19:30

Re: Macro nascondi righe vuote

Postdi Marius44 » 10/08/16 05:54

Ciao
son stato fuori e solo ora vedo il tuo messaggio.
Per evitare di lavorare a vuoto non sarebbe possibile avere il tuo file (senza dati sensibili) in modo da poterci smanettare sopra?
Tieni presente che, ripeto, un pulsante potrebbe non essere necessario. Si potrebbe, ad esempio, inserire la macro nell'evento WorkSheet_Change e limitarlo alla riga dove sei posizionato.
Comunque è meglio "vedere" il file.

Ciao,
Mario
Marius44
Utente Senior
 
Post: 143
Iscritto il: 07/09/15 22:00


Torna a Applicazioni Office Windows


Topic correlati a "Macro nascondi righe vuote":


Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti