Condividi:        

Excel Macro Trova e Colora

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 Macro Trova e Colora

Postdi Statix » 20/03/09 23:24

Ciao a tutti,
ho bisogno di una macro che mi trova i 10 valori ( ambi) R3:AA3
in archivio E5:N650,la macro deve svolgere la funzione come Trova cioe una volta trovato il primo valore si deve bloccare è colorare.questo per ogni ambo,in poche parole deve evidenziarmi solo i primi 10 ambi trovati (singolarmente )
ho provato con la macro postata da Anthony in un altro topic,ma la macro evidenzia tutti i valori presenti in archivio
Immagine
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Sponsor
 

Re: Excel Macro Trova e Colora

Postdi Statix » 21/03/09 11:13

al momento sono riuscito con questa macro a trovare e colorare un valore cercato.
ma ho bisogno che il range A1:J1 o la prima riga sia escluso dalla ricerca e che dopo trovato il primo valore la cella rimanga colorata e passare al prossimo valore da trovare
Trova2()
i valori da trovare sono 10


Codice: Seleziona tutto
Sub Trova1()
A = Range("A1")

Cells.Find(What:=A, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
True).Activate
Cells.Interior.ColorIndex = Null
ActiveCell.Interior.ColorIndex = 4

End Sub
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel Macro Trova e Colora

Postdi Anthony47 » 21/03/09 14:18

Quindi tu vorresti evidenziare e cololare la prima occorrenza di ognuna delle 10 combinazioni elencate in R3:AA3...
Adotterei il secondo criterio, del .Find, inserendolo in un ciclo For Each Ambo in Range("R3:AA3") / Next Ambo; prima dell' inizio del loop inserirai I=2, nel loop Range("E5").Select, poi cercherai il valore Ambo (What:=Ambo), applicherai alla cella trovata il Colorindex = I, incrementi I e ripeti (Next Ambo)

Se con questi spunti non riesci a risolvere, posta ancora che la concludiamo insieme.

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

Re: Excel Macro Trova e Colora

Postdi Statix » 21/03/09 14:23

Ciao Anthony
hai perfettamente capito cosa voglio fare.
per il Vba ho bisogno ancora di aiuto,se puoi postarmi la macro te ne sarei grato.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel Macro Trova e Colora

Postdi Anthony47 » 21/03/09 14:42

Non ho excel sul palmtop, fino a domani sera non riesco a collaudare niente, ma la macro dovrebbe avere questo aspetto:

Codice: Seleziona tutto
Sub statix()
I = 2
For Each Ambo In Range("R3:AA3")
Range(Ambo.address).Interior.Colorindex = I
I = I + 1
Next Ambo
I=2
For Each Ambo in Range("R3:AA3")
Range("E5").select
Cells.find(What:="23", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, _
   SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.interior.Colorindex=I
I=I+1
Next Ambo
End Sub


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

Re: Excel Macro Trova e Colora

Postdi Statix » 21/03/09 14:52

Anthony ho provato la macro ma non va,nella macro il valore di What giusto?
Codice: Seleziona tutto
What:="23"
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel Macro Trova e Colora

Postdi Anthony47 » 21/03/09 16:32

What:="23"
Gulp..
Codice: Seleziona tutto
What:=Ambo


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

Re: Excel Macro Trova e Colora

Postdi Anthony47 » 21/03/09 16:41

What:="23"
Gulp..
Codice: Seleziona tutto
What:=Ambo


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

Re: Excel Macro Trova e Colora

Postdi Statix » 21/03/09 18:34

Ciao Anthony, tutto ok
a pensare che avevo modificato in precedenza What:="Ambo" e non ha funzionato perche c'erano le virgolette. :-? :-?
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel Macro Trova e Colora

Postdi paolox » 22/03/09 11:29

ciao Statix
potresti allegare il foglio
sono interessato anch'io

grazie
ciao
paolox
Utente Senior
 
Post: 269
Iscritto il: 05/06/04 11:48
Località: lodigiano

Re: Excel Macro Trova e Colora

Postdi Statix » 23/03/09 21:31

Ciao Anthony
ho un problema con la macro,se non trova tutti gli ambi, mi da questo errore
Immagine

Codice: Seleziona tutto
Sub statix()
I = 2
For Each Ambo In Range("R3:AA3")
Range(Ambo.address).Interior.Colorindex = I
I = I + 1
Next Ambo
I=2
For Each Ambo in Range("R3:AA3")
Range("E5").select
Cells.find(What:=Ambo, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, _
   SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.interior.Colorindex=I
I=I+1
Next Ambo
End Sub

ho solo modificato
Codice: Seleziona tutto
LookAt:=xlPart
con
LookAt:=xlWhole

in quanto non trovava esattamente l'ambo.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel Macro Trova e Colora

Postdi Anthony47 » 24/03/09 01:11

Ben fatto!

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

Re: Excel Macro Trova e Colora

Postdi Statix » 24/03/09 09:06

Ciao Anthony
ho ancora un problema alla macro,
come detto nel post precedente ,la macro mi da errore come nella foto
se non trova tutte le corrispondenze(ambi)
cioè nel range preso in esame non sono presenti tutti i 10 ambi.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel Macro Trova e Colora

Postdi Anthony47 » 24/03/09 14:17

In effetti avevo capito che la modifica da te fatta aveva risolto (sono ancora senza excel, cioe' senza possibilita' di collaudare..).
In modo semplicistico prova queste modifiche:
Aggiungi all' inizio:
Codice: Seleziona tutto
On Error Resume next

Modifica:
Codice: Seleziona tutto
Range("E4").select     'INVECE DI Range("E5").select

poi
Codice: Seleziona tutto
If activecell.address <>"$E$4" Then ActiveCell.interior.Colorindex=I

Se non funziona dovremo intercettare l' errore restituito dal find.

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

Re: Excel Macro Trova e Colora

Postdi biancocandido55 » 25/03/09 22:58

Ciao ragazzi,
sto seguendo con interesse questo topic e se posso ......,
statix ho provato la macro e ho notato che a mio piccolo parere c'era una piccola incongrouenza, metti a confronto lo stesso range??
Codice: Seleziona tutto
For Each Ambo In Range[b]("R3:AA3")[/b]
Range(Ambo.address).Interior.Colorindex = I
I = I + 1
Next Ambo
I=2
For Each Ambo in Range[b]("R3:AA3")[/b]
Range("E5").select
, Anthony con i suggerimenti cha hai dato se li ho impostati bene??
Questo è il codice e correggilo per favore:
Codice: Seleziona tutto
Sub statix()
On Error Resume Next
I = 2
For Each ambo In Range("R3:AA3")
Range(ambo.Address).Interior.ColorIndex = I
I = I + 1
Next ambo
I = 2
For Each ambo In Range("d8:m141")
Range("d8").Select
If ActiveCell.Address <> "$d$8" Then ActiveCell.Interior.ColorIndex = I
Cells.Find(What:=ambo, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlWhole, _
   SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Interior.ColorIndex = I
I = I + 1
Next ambo
End Sub
, il risultato che mi dà è questo : Immagine,
io invece ho provato a modificare la macro che avevi fatto per gli estratti, nella sostanza non è cambiato nulla e funziona egreggiamente, la macro l'ho modificata così:
Codice: Seleziona tutto
Sub ambo1()
[n1] = Timer
For I = 1 To 10
Range("B4").Offset(0, I).Interior.ColorIndex = I + 2
Next I
Range("d8:m141").Interior.ColorIndex = xlNone
Application.ScreenUpdating = False
For Each cell In Range("d8:m141")
Range("B4").Value = cell.Value
If Range("B3").Value > 2 Then cell.Interior.ColorIndex = Range("B3").Value
Next cell
Application.ScreenUpdating = True
[n2] = Timer
End Sub
, l'unico neo che volevo far presente e parlarne con voi è questo, sia la macro statix che ambo1, nel momento in cui trovano nel controllo un ambo dove il primo valore è un numero da 1 a 12 cambiano la cella in formato data o se la modifico a formato testo le macro non riconoscono l'ambo e non lo colorano, cosa si può fare????
un saluto ed un abbraccio a presto,
biancocandido
ciao ciao
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: Excel Macro Trova e Colora

Postdi Anthony47 » 26/03/09 15:15

La macro per Statix e' leggermente diversa da quanto avevamo fatto per i tuoi estratti, in quanto si deve fermare alla prima occorrenza trovata.
Dopo i vari post, la macro definitiva dovrebbe essere questa:
Codice: Seleziona tutto
Sub statix()
I = 2
For Each Ambo In Range("R3:AA3")
Range(Ambo.address).Interior.Colorindex = I
I = I + 1
Next Ambo
I=2
On Error Resume next
For Each Ambo in Range("R3:AA3")
Range("E4").select     'INVECE DI Range("E5").select
Cells.find(What:=Ambo, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, _
   SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
If activecell.address <>"$E$4" Then ActiveCell.interior.Colorindex=I
I=I+1
Next Ambo
End Sub

Poiche' ColorIndex=2 corrisponde al bianco, sarebbe opportuno impostare in ambedue gli utilizzi I=3 (invece che I=2).

Ricorrere alla scansione cella per cella puo' andare anche bene per la domanda di Statix
uscendo pero' dal ciclo For /Next al primo valore cercato; pero' una .Find e' molto piu' veloce di un ciclo.
Per quanto riguarda l' evitare che con la tua macro B4 venga interpretato come mese, il suggerimento e' di formattare B4 come testo.

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

Re: Excel Macro Trova e Colora

Postdi biancocandido55 » 26/03/09 21:30

Ciao Anthony,
come da tuo suggerimento ho formattato la cella B4 e anche il range c3:l3 del mio archivio in formato testo, come sempre Immagine, grande!
la macro statix invece non capisco il perchè la fate girare sempre e solo sul range R3:AA3, così com'è controlla e colora solo quel range.
Ma l'archivio E5:N650 di statix??, non è citato nella macro, in questo modo non lo vede.
L'ho provata adattandola al mio archivio e il risultato e lo stesso dell'immagine che avevo postato prima, cioè continua a colorare tutte le celle dell'archivio.
come sempre un saluto e un abbraccio,
ciao ciao
biancocandido
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: Excel Macro Trova e Colora

Postdi Anthony47 » 27/03/09 00:13

Il tuo errore e' proprio aver modificato il secondo For Each Ambo in Range("R3:AA3"); perche' il range R3:AA3 e' il repository dei dati che vanno cercati sull' elenco degli estratti che sono da E5 in poi.
In pratica la macro "statix", nella seconda parte, cerca quanto scritto in R3 e lo colora di rosso (se I=3 in testa), poi cerca quanto scritto in S3 e lo colora in verde, etc fino al valore scritto in AA3. La prima parte della macro serve solo a colorare R3:AA3 con gli stessi colori con cui saranno evidenziati i numeri trovati.
La "tua" interpretazione cerca invece il valore contenuto in D8, e lo trova subito (appunto in D8) e lo colora, poi il valore di E8 (idem), col risultato che 1) non c' e' nessuna correlazione tra l' elenco R3:AA3 e le ricerche effettuate e 2) che le prime 56 celle sono colorate con uno dei 56 colori che excel sa gestire, poi rimangono incolorate perche' quel " On Error Resume Next" fa continuare la macro anche quando applichi un ColorIndex=57 o superiore.

Capito l' arcano?

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

Re: Excel Macro Trova e Colora

Postdi Statix » 27/03/09 00:28

Per Biancocandido55,
le imagini che posto sono solo esempi,
mi servono per capire il funzionamento delle macro o delle formule,dopodiche le applico alle mie tabelle che hanno riferimenti diversi,così faccio anche pratica.
Il range R3:AA3 sono 10 ambi di una ruota che faccio girare su una tabella di 200 estrazioni x 10 ruote
i quali ogni volta che viene visualizzato il primo ambo su una ruota la stessa viene esclusa ,alla fine rimangono solo quelli supersisti se c'è ne sono,fatto diverse ricerche trovati 3 superstiti x 3 ruote li metto in gioco.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Excel Macro Trova e Colora

Postdi biancocandido55 » 27/03/09 19:27

Ciao Anthony e Statix,
ringrazio entrambe Immagine Immagine per le spiegazioni e alla prossima.
ciao ciao Immaginebiancocandido
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Excel Macro Trova e Colora":


Chi c’è in linea

Visitano il forum: Nessuno e 127 ospiti