Condividi:        

[Excel] - Estrarre celle colorate da una matrice

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] - Estrarre celle colorate da una matrice

Postdi Crio » 25/01/14 13:16

Buongiorno a tutti, ho un problema con excel...
Ho una matrice di numeri A1:AK32 , all'interno di questa matrice ci sono dei numeri che mi interessano e che ho contraddistinto colorando le rispettive celle...
Io vorrei una formula che in automatico mi elencasse questi numeri (contenuti nelle celle colorate) in una colonna...
Spero di essermi spiegato bene! altrimenti inserisco una immagine...
Grazie a tutti! :)
Crio
Newbie
 
Post: 9
Iscritto il: 25/01/14 12:16

Sponsor
 

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi Anthony47 » 25/01/14 20:19

Ciao Crio, benvenuto nel forum.
Dissento dall' idea che il colore dia un valore diverso ai dati e quindi possa essere usato per elaborazioni successive.
Cio' detto, potresti usare la Function GCC descritta qui: viewtopic.php?p=418689#p418648
In questo modo puoi calcolare l' indice di colore della cella e poi usare questo valore per cercare le righe di tuo interesse.
Comunque direi che un file di esempio o almeno uno screenshot aiuterebbero; per come fare vedi qui: viewtopic.php?f=26&t=80395

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

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi Flash30005 » 26/01/14 11:25

Ciao Crio e un benvenuto nel Forum anche da parte mia

Sicuramente con file e/o immagine la spiegazione sarebbe più esaustiva
nel frattempo domando:
ma se i numeri si ripetono nella matrice vorresti che si ripetessero anche nella colonna destinazione oppure quel/quei determinati numeri devono essere riportati solo una volta?

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi Crio » 26/01/14 12:10

Buongiorno, e grazie a voi per il benvenuto...inserisco l'immagine del foglio per far capire meglio
Immagine

Ecco io vorrei una formula che in automatico mi inserisca nella colonna ''Numeri'', i numeri delle celle di colore giallo...in questo caso l'ho fatto "a mano"...
ho trovato un post simile, ma purtroppo mi inserisce solo il primo numero tralasciando gli altri...
viewtopic.php?t=80214

Grazie ancora, siete molto gentili! :)
Crio
Newbie
 
Post: 9
Iscritto il: 25/01/14 12:16

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi Flash30005 » 26/01/14 17:33

Sarebbe opportuno conoscere il motivo per il quale quelle celle sono colorate di giallo
e creare la macro che applichi quella condizione per riportare i dati in colonna AM
(come dice Anthony non dal colore)

Comunque puoi provare questo codice se usi Excel 2003 e il colore è il giallo standard
Codice: Seleziona tutto
Sub TrovaCol()
For RR = 1 To 32
    For CC = 1 To 37
        If Cells(RR, CC).Interior.ColorIndex = 6 Then Cells(Rows.Count, 39).End(xlUp).Offset(1, 0).Value = Cells(RR, CC).Value
    Next CC
Next RR
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi Crio » 26/01/14 19:36

Utilizzo excel 2010...
Il colore giallo è dovuto al fatto che ci sono due matrici di numeri, quando in una determinata posizione c'è lo stesso numero in entrambe le matrici, lo contraddistinguo colorando la cella!!!
Crio
Newbie
 
Post: 9
Iscritto il: 25/01/14 12:16

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi Flash30005 » 26/01/14 21:05

Non sapendo dove hai queste due matrici per effettuare il confronto con macro posso solo modificare la macro precedente inserendo il codice colore del giallo standard in Excel 2010

Codice: Seleziona tutto
Sub TrovaCol()
For RR = 1 To 32
    For CC = 1 To 37
        If Cells(RR, CC).Interior.ColorIndex = 65535 Then Cells(Rows.Count, 39).End(xlUp).Offset(1, 0).Value = Cells(RR, CC).Value
    Next CC
Next RR
End Sub


Dovrebbe funzionare purché il colore non sia inserito con la formattazione condizionale

Prova e fai sapere

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi Crio » 26/01/14 21:16

Confesso che ho scoperto cos'è una macro leggendo alcuni vostri argomenti...
Una volta creata questa macro, poi sul foglio excel dove ho la matrice, cosa devo inserire?
Crio
Newbie
 
Post: 9
Iscritto il: 25/01/14 12:16

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi Flash30005 » 27/01/14 02:20

Aperto il file
premi Alt+F11
ti trovi in ambiente VBA
dal Menu Inserisci seleziona Modulo
Incolli l'intero codice copiato dal post
A questo punto puoi
(se hai attivo il foglio interessato) premere il comando "Esegui Sub/Userform" sul Menu in alto (a forma di triangolo come il Play di un registratore)
oppure
chiudere il Vba
e dal foglio interessato scegli il Menu Visualizza
premi il comando Macro e scegli "Visualizza Macro"
Troverai il nome "TrovaCol" (suppongo abbia solo quello)
quindi premi il comando "Esegui"

Ripropongo la macro in quanto ho aggiunto la cancellazione della colonna AM altrimenti i numeri venivano accodati al precedente processo (nel caso di più avvii della macro stessa).
Codice: Seleziona tutto
Sub TrovaCol()
Columns("AM:AM").ClearContents
For RR = 1 To 32
    For CC = 1 To 37
        If Cells(RR, CC).Interior.ColorIndex = 65535 Then Cells(Rows.Count, 39).End(xlUp).Offset(1, 0).Value = Cells(RR, CC).Value
    Next CC
Next RR
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi Crio » 27/01/14 22:24

Flash30005, ti ringrazio per la risposta, ho provato in tutte e due i modi, ma niente...nella colonna AM non mi compare nulla!!! :cry:
Crio
Newbie
 
Post: 9
Iscritto il: 25/01/14 12:16

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi Anthony47 » 28/01/14 01:20

Come vedi processare i colori e' non e' come valutare il bianco e il nero...
Innanzitutto dovresti confermare che quel colore non e' applicato tramite formattazione condizionale; poi piu' che lavorare sull' indice di colore io lavorerei sul fatto che quel colore sia uguale a quello che applicherai su una cella campione di riferimento, es la cella AM1.
Poi modifichi la macro di Flash come segue:
Codice: Seleziona tutto
Sub TrovaCol()
Columns("AM:AM").ClearContents
For RR = 1 To 32
    For CC = 1 To 37
        If Cells(RR, CC).Interior.ColorIndex = Range("AM1").Interior.ColorIndex Then Cells(Rows.Count, 39).End(xlUp).Offset(1, 0).Value = Cells(RR, CC).Value
    Next CC
Next RR
End Sub
Quindi colori la cella AM1 con il giallo con cui hai colorato le altre celle e la mandi in esecuzione.

Prova e fai sapere.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi Crio » 28/01/14 11:42

Perfetto Anthony, siete gentilissimi...funziona tutto! Se posso chiedervi un altro piacere...io nel foglio ne ho tre di matrici, la prima che avete visto nell'immagine è la matrice A1-AK32 e i risultati mi partono da AM1, per averli anche per le due seguenti matrici, come devo fare?
MATRICE 2 = A34-AK65 e vorrei i risultati da AM34 (cella che riempirò con colore come AM1)
MATRICE 3 = A67-AK98 e vorrei i risultati da AM67 (cella che riempirò con colore come AM1)
per AM34 e AM67 devo usare lo stesso colore di AM1 o lo posso cambiare?

Vi ringrazio infinitamente per la vostra disponibilità!!! Buona giornata...
Crio
Newbie
 
Post: 9
Iscritto il: 25/01/14 12:16

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi Flash30005 » 28/01/14 12:27

Se stanno sullo stesso foglio dovrai modificare la macro più o meno così
Codice: Seleziona tutto
Sub TrovaCol2()
Columns("AM:AM").ClearContents
For RR = 1 To 98
    For CC = 1 To 37
        If Cells(RR, CC).Interior.ColorIndex = Range("AM1").Interior.ColorIndex Then
        UR = Range("AM" & Rows.Count).End(xlUp).Row + 1
        If RR > 33 And UR < 34 Then UR = 34
        If RR > 66 And UR < 67 Then UR = 67
        Cells(UR, 39).Value = Cells(RR, CC).Value
        End If
    Next CC
Next RR
End Sub


ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi ricky53 » 28/01/14 12:34

Ciao,
copia la macro, cambiale nome, dovrai adattare i valori di inizio e fine del ciclo di "RR"
Ossia dovrai cambiare "1" con ..., "32" con ..., "

Per i colori puoi mettere i colori che vuoi basta che siano gli stessi di quelli che hai negli altri due intervalli

Prova e ... ci troverai QUI




EDIT: NON avevo visto la risposta di Flash
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi Crio » 29/01/14 20:52

Perfetto, funziona tutto...siete gentilissimi e disponibilissimi!!! Grazie e Complimenti a tutti voi...
Crio
Newbie
 
Post: 9
Iscritto il: 25/01/14 12:16

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi papiriof » 06/05/21 16:20

Anthony47 ha scritto:Come vedi processare i colori e' non e' come valutare il bianco e il nero...
Innanzitutto dovresti confermare che quel colore non e' applicato tramite formattazione condizionale; poi piu' che lavorare sull' indice di colore io lavorerei sul fatto che quel colore sia uguale a quello che applicherai su una cella campione di riferimento, es la cella AM1.
Poi modifichi la macro di Flash come segue:
Codice: Seleziona tutto
Sub TrovaCol()
Columns("AM:AM").ClearContents
For RR = 1 To 32
    For CC = 1 To 37
        If Cells(RR, CC).Interior.ColorIndex = Range("AM1").Interior.ColorIndex Then Cells(Rows.Count, 39).End(xlUp).Offset(1, 0).Value = Cells(RR, CC).Value
    Next CC
Next RR
End Sub
Quindi colori la cella AM1 con il giallo con cui hai colorato le altre celle e la mandi in esecuzione.

Prova e fai sapere.

Riprendo questo vecchio post perchè ho un problema simile ma purtroppo non posso prescindere da colorare con la formattazione condizionale, inutile dire che colorando normale il tutto funziona ma ....
La macro sopra l'ho adattata così:
Codice: Seleziona tutto
Sub TrovaCol()
'Columns("AM:AM").ClearContents
For RR = 2 To 37
    For CC = 1 To 5
        If Cells(RR, CC).Interior.ColorIndex = Range("A1").Interior.ColorIndex Then Cells(Rows.Count, 6).End(xlUp).Offset(1, 0).Value = Cells(RR, CC).Value
    Next CC
Next RR
End Sub

Come si vede ho messo l'apice a Columns("AM:AM").ClearContents (a me sarebbe stato Columns("F2:F37").ClearContents) perchè a me serve che si accodino in quanto faccio diverse prove e quindi ho diversi scenari (numeri) ogni volta che con un controllo riesco a cambiare la cella A1
Win 7+Office 2010
papiriof
Utente Senior
 
Post: 392
Iscritto il: 16/02/10 13:23

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi Anthony47 » 06/05/21 20:25

Da XL2010 e' disponibile la proprieta' "DisplayFormat" in grado di leggere i formati condizionali.

Quindi prova modificando in:
Codice: Seleziona tutto
    For CC = 1 To 5
        If Cells(RR, CC).DisplayFormat.Interior.ColorIndex = Range("A1").Interior.ColorIndex Then Cells(Rows.Count, 6).End(xlUp).Offset(1, 0).Value = Cells(RR, CC).Value
    Next CC

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

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi papiriof » 07/05/21 07:17

https://i.postimg.cc/hjhMmyxy/Cattura7-5-21.jpg
Buongiorno Anthony, ho fato come m hai detto, la macro:
Sub TrovaCol()
'Columns("AM:AM").ClearContents
For RR = 2 To 37
For CC = 1 To 5
If Cells(RR, CC).DisplayFormat.Interior.ColorIndex = Range("A1").Interior.ColorIndex Then Cells(Rows.Count, 6).End(xlUp).Offset(1, 0).Value = Cells(RR, CC).Value
Next CC
Next RR
End Sub
La macro che doveva agire su un intervallo di 36 righe per 5 colonne a sua volta diviso in 3 intervalli da 12 righe x 5 colonne in effetti lo fa ma a rovescio :cry: !!!!
Non riuscivo a capire mi mette di seguito sulla col F 175 valori !!! Praticamente TUTTI (36x5=180) meno quelli 5 che invece sono formattati in giallo e che volevo mettesse :?:
Win 7+Office 2010
papiriof
Utente Senior
 
Post: 392
Iscritto il: 16/02/10 13:23

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi Anthony47 » 07/05/21 10:55

Ho l'impressione che anche la cella di confronto la colori con la formattazione condizionale; quindi non devi scrivere
= Range("A1").Interior.ColorIndex ma
= Range("A1").DisplayFormat.Interior.ColorIndex

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

Re: [Excel] - Estrarre celle colorate da una matrice

Postdi papiriof » 07/05/21 11:52

Anthony47 ha scritto:Ho l'impressione che anche la cella di confronto la colori con la formattazione condizionale; quindi non devi scrivere
= Range("A1").Interior.ColorIndex ma
= Range("A1").DisplayFormat.Interior.ColorIndex

Ciao

Inutile a dire, ma "indovini" sempre !!!!
Win 7+Office 2010
papiriof
Utente Senior
 
Post: 392
Iscritto il: 16/02/10 13:23


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] - Estrarre celle colorate da una matrice":


Chi c’è in linea

Visitano il forum: Nessuno e 56 ospiti