Moderatori: Anthony47, Flash30005
Quindi in quel tabellone vuoi identificare quali numeri compaiono piu' di una volta e colorarli...dato un range di R righe e C colonne devo trovare i numeri uguali, colorare le celle e
riportare in una zona vuota del foglio i numeri e le rispettive frequenze
... o vuoi impostare da qualche parte il valore da cercare e colorare con un colore specifico le sue presenze sul tabellone?cambiando il numero di ricerca si deve cambiare il colore delle celle.
in pratica per ogni numero cercato deve corrispondere un colore diverso delle celle
Sub CellColor()
Dim wArea As Range, dBase As String, myC As Range, Riep As String
Dim ccStr As String, ccCol As Long
Dim ColArr(1 To 90)
'
dBase = "B4" '<<< La "base" dei dati
Riep = "M4" '<<< La "base" per il riepilogo
'
Set wArea = Range(dBase).CurrentRegion
wArea.Interior.Color = xlNone
For Each myC In wArea
ColArr(myC.Value) = ColArr(myC.Value) & "," & myC.Address
Next myC
For I = 1 To 90
ccStr = ColArr(I)
If (Len(ccStr) - Len(Replace(ccStr, ",", "", , , vbTextCompare))) > 1 Then
ccCol = RGB(255, 255, 255) / 100 * I
Range(Mid(ColArr(I), 2)).Interior.Color = ccCol
End If
Range(Riep).Cells(I, 1).Interior.Color = ccCol
Range(Riep).Cells(I, 1) = I
Range(Riep).Cells(I, 2) = Len(ccStr & " ") - Len(Replace(ccStr & " ", ",", "", , , vbTextCompare))
Next I
End Sub
Sub CellColor()
Dim wArea As Range, dBase As String, myC As Range, Riep As String
Dim ccStr As String, ccCol As Long
Dim ColArr(1 To 90)
'
dBase = "B4" '<<< La "base" dei dati
Riep = "M4" '<<< La "base" per il riepilogo
'
Set wArea = Range(dBase).CurrentRegion
wArea.Interior.Color = xlNone
For Each myC In wArea
ColArr(myC.Value) = ColArr(myC.Value) & "," & myC.Address
Next myC
Range(Riep).Resize(30, 12).Clear
For I = 1 To 90
ccStr = ColArr(I)
If (Len(ccStr) - Len(Replace(ccStr, ",", "", , , vbTextCompare))) > 1 Then
ccCol = RGB(255, 255, 255) / 100 * I
Range(Mid(ColArr(I), 2)).Interior.Color = ccCol
Range(Riep).Cells(1 + (I - 1) Mod 15, 1 + Int((I - 1) / 15) * 2).Interior.Color = ccCol
End If
Range(Riep).Cells(1 + (I - 1) Mod 15, 1 + Int((I - 1) / 15) * 2) = I
Range(Riep).Cells(1 + (I - 1) Mod 15, 2 + Int((I - 1) / 15) * 2) = Len(ccStr & " ") - Len(Replace(ccStr & " ", ",", "", , , vbTextCompare))
Next I
End Sub
For I = 1 To 90
R = (I - 1) Mod 11 '<<<<
C = (Int((I - 1) / 11) * 2) '<<<<
If C > 0 Then C = C * 2 '<<<
......
....
volevo ottenere un risultato leggermente diverso per una migliore visualizzazione del riepilogo;
indico con P le colonne piene e con V le colonne vuote
il riepilogo dovrebbe essere inserito in questo modo
P V P | V V | P V P | V V | P V P |...
Torna a Applicazioni Office Windows
Formattzione valori con simbolo triangolini colorati Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 11 |
Mettere tutto MAIUSCOLO un range di celle Autore: raimea |
Forum: Applicazioni Office Windows Risposte: 7 |
Trasformare celle con formattazioni in html Autore: servicedynergy |
Forum: Applicazioni Office Windows Risposte: 5 |
Visitano il forum: Nessuno e 41 ospiti