NASCONDI PAGINA



  • NASCONDI PAGINA
    di Andrea (utente non iscritto) data: 19/02/2014 11:25:45

    Ciao
    ho necessità di creareuna macro che nasconda una serie di pagine all'interno di un foglio.
    Ho provato inserendo in ogni riga del foglio un campo, variabile, che mi indica se la riga è da nascondere o meno.
    Il problema è che avendo un file di più di 6000 righe diventa spaventosamente lento.
    L'ideale sarebbe un comando che faccia selezionare tutte le righe consecutive che hanno il campo indicante la necessità di cancellazione e poi nascondere tutto l'intervallo.
    Grazie
    ciao


     
    Sub STAMPA_FOGLI()
    N = Worksheets("FOGLIO CONTROLLO").Cells(1, 16)
    For i = 1 To N
        If Worksheets("FOGLIO CONTROLLO").Cells(i, 15) = "X" Then
        Worksheets("FOGLIO CONTROLLO").Rows(i).Select
        Selection.EntireRow.Hidden = True
        End If
        
    Next
    
    
    End Sub



  • di Lucas87 data: 19/02/2014 11:34:52

    Così dovrebbe velocizzarsi.
     
    For i = 1 To N
        If Worksheets("FOGLIO CONTROLLO").Cells(i, 15) = "X" Then
              Rows(5).Hidden = True
        End If
    Next



  • di Andrea (utente non iscritto) data: 19/02/2014 12:28:00

    Negativo
    Rimane comunque molto lento.
    Per fare tutte le righe è stata un'elaborazione di circa 5 minuti



  • di Grograman (utente non iscritto) data: 19/02/2014 12:39:30

    Ma usare un filtro che escluda quelle che dovresti nascondere?



  • di Andrea (utente non iscritto) data: 19/02/2014 14:01:26

    Ecco, le soluzioni più semplici sono sempre le più efficaci...
    Risolto con il filtro.
    Grazie



  • di nichicanta (utente non iscritto) data: 19/02/2014 14:06:03

    Puoi allegare un file di esempio, poichè giorni fa ho risolto una problematica simile alla tua utilizzando il filtro, cosi come giustamente consiglia l'amico Grograman?
    Ti saluto.



  • di nichicanta (utente non iscritto) data: 19/02/2014 14:07:51

    Ops. mi accorgo ora che hai già risolto.
    Ti saluto, volevo rendermi utile ecc. alla prossima occasione.