Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro colora se

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

Macro colora se

Postdi Statix » 03/04/11 16:23

Ciao a tutti,
dovrei colorare con una macro ,
un range di 1000 righe C3:G1003
ogni riga è composta da 5 numeri,
la macro deve colorare di questi 5 numeri di ogni riga ,solo se sono >= 2 ad una serie di numeri .
esempio
C3:G3
1-2-4-8-23 ' serie di numeri 1-12-24-34-56-8-14
1-2-4-8-23,
questa macro va applicata a 7 serie diverse e quindi 7 colori diversi.
Immagine
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Sponsor
 

Re: Macro colora se

Postdi Anthony47 » 03/04/11 20:18

Hum…
la macro deve colorare di questi 5 numeri di ogni riga ,solo se sono >= 2 ad una serie di numeri

questa macro va applicata a 7 serie diverse e quindi 7 colori diversi

Non decodifico il significato della prima frase, mentre per la seconda vorrei sapere la posizione (coordinate celle) delle sette serie di (sempre sette?) numeri.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13895
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro colora se

Postdi Statix » 03/04/11 20:31

Ciao Anthony,
ti faccio un esempio
in C3:G3 ho
1-2-3-4-5

in L3:T£ ho
1-12-23-34-45-56-3-8-90-
la macro deve colorare i valori in C3:G3 uguali al range L3:T3 ma solo se i numeri uguali sono almeno 2
nell'esempio
1-3
ecco come e dopo
1-2-3-4-5
le righe sono più di 1000
C3:G1000
e di queste 1000 righe devo confrontarle con altri range L4:T4
-L5:T5 etc.etc.
quindi mi basterebbe solo per questo esempio,poi eventualmente la replico cambiando i range
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Macro colora se

Postdi Statix » 03/04/11 20:41

Nel forum ,ho trovato una macro simile,
ho fatto alcune modifiche, mi colora solo 2 numeri ,
quindi se c'è un terzo o quarto numero uguale al range L3:T3 non me lo colora.
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Macro colora se

Postdi Statix » 03/04/11 21:20

ecco,questo lo fatta ,facendo girare diverse macro
Immagine
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Macro colora se

Postdi Anthony47 » 03/04/11 21:37

Questa macro dovrebbe lavorare su 1 intervallo di confronto:
Codice: Seleziona tutto
Sub StaCol()
Range("A:E").Font.ColorIndex = 1  'Toglie ogni colore ai numeri
RComp = "L3:T3"    '<< I numeri di confronto
LastR = Cells(Rows.Count, 1).End(xlUp).Row
ICOL = 3 + K    'parte dal Rosso
'
For I = 3 To LastR
    KK = 0
    For J = 1 To 5
        KK = KK + Application.WorksheetFunction.CountIf(Range(RComp), Cells(I, J))
    Next J
    If KK > 1 Then
        For J = 1 To 5
        If Application.WorksheetFunction.CountIf(Range(RComp), Cells(I, J)) > 0 Then _
            Cells(I, J).Font.ColorIndex = ICOL
        Next J
    End If
Next I
End Sub

Devi inserire in un loop che varia il range di confronto; se sono sottostanti a quello dichiarato puoi usare un Ciclo for K=1 to NumeroDiRigheDiConfrontp /Next K e modificare la parte Countif in .CountIf(Range(RComp).Offset(K - 1, 0)
La riga ICOL = 3 + K deve essere la prima inclusa nel ciclo, e il "+K" serve a modificare ICOL=Indice di Colore con cui colorerai le celle.

Devi pero' affinare la macro in funzione dei tuoi desideri; ad esempio come descritto sopra un eventuale confronto Ok sulle righe "successive" colora i numeri col nuovo ICOL, ma non toglie eventuali colori gia' applicati.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13895
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro colora se

Postdi Statix » 03/04/11 21:47

Ho provato la macro,
non mi funziona se i dati sono in C3:G1000
mentre se li metto in A:E funziona,
stò provando a fare qualche modifica.
ma non mi va.
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Macro colora se

Postdi Anthony47 » 03/04/11 21:55

Questa
Codice: Seleziona tutto
Sub StaCol()
RComp = "L3:T3"
LastR = Cells(Rows.Count, 3).End(xlUp).Row
Range("C:G").Font.ColorIndex = 1
For K = 1 To 1    '<<<< N° di righe da confrontare
ICOL = 2 + K
Range(RComp).Offset(K - 1, 0).Range("A1").Font.ColorIndex = ICOL
For I = 3 To LastR
    KK = 0
    For J = 3 To 8
        KK = KK + Application.WorksheetFunction.CountIf(Range(RComp).Offset(K - 1, 0), Cells(I, J))
    Next J
    If KK > 1 Then
        For J = 3 To 8
        If Application.WorksheetFunction.CountIf(Range(RComp).Offset(K - 1, 0), Cells(I, J)) > 0 Then _
            Cells(I, J).Font.ColorIndex = ICOL
        Next J
    End If
Next I
Next K
End Sub

Ho inserito anche il ciclo For K=1 to NN, devi mettere a mano quante righe di dati di confronto hai (istruzione marcata <<<).
Ti colora anche la prima cella dei numeri di confronto con lo stesso ICOL.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13895
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro colora se

Postdi Statix » 03/04/11 22:01

Ok,non finirò mai di ringraziarti,
grazie 10000
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta


Torna a Applicazioni Office Windows


Topic correlati a "Macro colora se":


Chi c’è in linea

Visitano il forum: Nessuno e 17 ospiti