macro controllo gruppi righe



  • macro controllo gruppi righe
    di Danny data: 22/02/2016 09:11:17

    Ciao, ciao a tutti

    vorrei chiedervi se sarebbe possibile realizzare una macro che facendo il doppio clic su una cella della colonna G mi scopre le righe dello stesso colore in colonna A lasciando nascoste le righe intermedie e le righe dei colori non selezionati , evidenziandomi l’ultima cella cliccata in colonna Ho postato un piccolo esempio selezionabile su 5 fogli

    ringrazio tutti

    Daniele


  • macro controllo gruppi righe
    di Danny data: 22/02/2016 09:20:13

    Ciao, ciao a tutti

    vorrei chiedervi se sarebbe possibile realizzare una macro che facendo il doppio clic su una delle 3 cella contenente il nome del colore della colonna G mi scopre le righe dello stesso colore in colonna A lasciando nascoste le righe intermedie e le righe dei colori non selezionati , evidenziandomi l’ultima cella cliccata in colonna. Ho postato un piccolo esempio selezionabile su 5 fogli

    ringrazio tutti

    Daniele



  • di Marius44 data: 22/02/2016 10:43:57

    Ciao Danny
    Prova con l'allegato se ti va bene.
    Se selezioni una delle tre celle colorate della colonna G, vengono evidenziate solo le righe con quel colore.
    Se selezioni la cella A5 vengono scoperte tutte le righe.

    Ciao,
    Mario



  • di Danny data: 22/02/2016 11:16:58

    ciao Marius
    grazie mille per la veloce risposta ,ho provato a scaricare l'allegato ma non contiene il vba ho forse sbagliato qualche cosa?saluto
    Danny



  • di Marius44 data: 22/02/2016 13:00:43

    Ciao Danny
    Allego il file SCOPRIRIGHE vedi se va bene

    Ciao,
    Mario



  • di Danny data: 22/02/2016 13:43:56

    Grazie Mario, adesso funziona. Reagisce lentamente ma forse è colpa del mio computer. Da come mi sembra di capire reagisce paragonando i colori. É possibile far la stessa macro però partendo dalla posizione chiusa ( foglio 2 ) e che faccia riferimento al testo contenuto alla cella cliccata ? Es: Danny, Paolo, Marco….
    E che colori la cella al momento cliccata in grigio più scuro come da es. foglio 3 ?
    Ti allego il file

    Ciao Danny



  • di Marius44 data: 22/02/2016 15:54:02

    Ciao Danny
    nel modulo di classe del Foglio Esempio (Foglio3) inserisci la macro riportata sotto (che è la stessa di prima con ... qualche leggera modifica - vedi tu le differenze)

    Prova e fai sapere. Ciao,
    Mario
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        ur = Cells(Rows.Count, 1).End(xlUp).Row
        nome1 = Target.Text
        If Not Intersect(Target, Range("G5:G7")) Is Nothing Then
            Rows("11:" & ur).EntireRow.Hidden = False
            For i = 12 To ur - 1
                nome2 = Cells(i, 1).Text
                If nome1 <> nome2 Then
                    Rows(i).RowHeight = 0
                End If
            Next i
        ElseIf Not Intersect(Target, Range("A5")) Is Nothing Then
            Rows("11:" & ur).EntireRow.Hidden = False
        End If
    End Sub



  • di Danny data: 22/02/2016 17:12:19

    Ciao Mario, funziona abbastanza bene, grazie. Però come prima ci mette circa 5 secondi per ogni cambio di selezione e la cella selezionata non rimane più evidenziata se clicco su altre celle. Se dovessi usare i pulsanti al posto del clic sulle celle rimarrebbe selezionato il pulsante ? guadagnerebbbe magari qualche cosa anche in velocità?

    Ciao
    Danny



  • di Marius44 data: 22/02/2016 23:25:33

    Ciao Danny
    a me la risposta la dà quasi istantanea. Forse dipende dal tuo PC (che capienza ha il disco rigido? quanta la sezione dedicata alla ram?).
    No, non penso che con eventuali pulsanti velocizzi l'esecuzione. L'unica cosa che puoi ottenere coi pulsanti è il mantenimento della cella selezionata (ma non credo ci guadagni qualcosa, anche visivamente).

    Ciao,
    Mario



  • di Danny data: 23/02/2016 09:41:04


    Ciao Mario se da te va quasi istantaneo lascio così ! mi sa che vuole dire che é ora di cambiare computer
    vorrei solo chiederti un ultimo favore ho visto che nella A5 hai inserito (scopri tutto) è possibile inserirne una che mi chiude tutto e una che mi raggruppa tutti i nomi come da feil allegato? (questo solo se non ti crea troppi problemi)

    grazie tante
    saluti
    Danny



  • di Marius44 data: 23/02/2016 12:05:28

    Ciao Danny
    Nel modulo di classe del Foglio1 trovi quello che hai chiesto. Bada bene, però, che non si tratta di "pulsanti" ma di selezione di una cella. Nel detto Foglio c'è tutto.
    Una particolarità: per chiudere ho attivato anche il salvataggio; se tu non lo volessi apri l'Editor di VBA e nella riga che trovi con l'apostrofo davanti (che appare colorata in verde) devi togliere l'apostrofo mentre, invece, devi mettere l'apostrofo nella riga immediatamente sotto (per le righe vedi sotto).

    Ciao,
    Mario
     
    'ActiveWorkbook.Saved = True: ActiveWorkbook.Close  <<< togli l'apostrofo
    
    ActiveWorkbook.Save: ActiveWorkbook.Close       <<< metti l'apostrofo



  • di Danny data: 23/02/2016 12:57:31

    Ciao Mario, ti ringrazio tantissimo. L'unica cosa che quando clicco su chiudi tutto al posto di nacondermi la riga dalla A12 alla A47 mi chiude completamente il file. Ciao Danny



  • di Marius44 data: 23/02/2016 22:00:31

    Ciao Danny
    con "chiudi tutto" avevo capito male ma forse era meglio dire "nascondi tutto".
    Comunque sostituisci le due righe di codice che ti avevo postato con la riga sottostante. Il resto rimane invariato.

    Ciao,
    Mario
     
    ElseIf Not Intersect(Target, Range("A6")) Is Nothing Then   'fra questa riga
        Rows("12:47").EntireRow.Hidden = True                   '<<< INSERISCI
    ElseIf Not Intersect(Target, Range("A7")) Is Nothing Then   'e questa riga



  • di Danny data: 23/02/2016 22:30:55

    Scusa Mario, è colpa mia ! Ti ringrazio tantissimo.

    Grazie, ciao
    Danny