macro controllo gruppi righe
Hai un problema con Excel? 
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
Vuoi Approfondire?