| | Post: 98 | Registrato il: 03/05/2016
| Città: MILANO | Età: 50 | Utente Junior | Excel 2011 | | OFFLINE |
|
09/05/2020 12:11 | |
ciao a tutti
ho trovato questa macro in rete che al click su pulsante “ genera tabella colori “ mi compone una tabella cromatica nel range A1.H7
volevo gentilmente chiedervi se sarebbe possibile inserendo uno dei numeri presenti nella tabella , nelle celle F10.G10.H10.I10.J10 , riportare il colore corrispondente del numero della tabella come da esempio
ringrazio e saluto tutti
Simone |
|
| | Post: 2.795 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
09/05/2020 12:28 | |
ciao
ti faccio un esempio sfruttando la cella attiva:
ActiveCell.Interior.ColorIndex = ActiveCell.Value
Se vuoi puoi utilizzare l'evento change del foglio, mirato al range F10:J10, sfruttando Target:
Private Sub Worksheet_Change(ByVal Target As Range)
if not intersect(target.........) is nothing then
target.Interior.ColorIndex = target.Value
.....
saluti
Domenico
Win 10 - Excel 2016 |
|
09/05/2020 13:17 | |
Ti allego due VBA, il primo quello che hai richiesto.
Il secondo dimostrativo Sub Crea()
Cells(10, 5).Interior.ColorIndex = 21
Cells(10, 6).Interior.ColorIndex = 6
Cells(10, 7).Interior.ColorIndex = 46
Cells(10, 8).Interior.ColorIndex = 48
Cells(10, 9).Interior.ColorIndex = 12
End Sub
Sub CambiaIlColore()
Dim X
For X = 1 To 56
Cells(X, 1).Interior.ColorIndex = X
Cells(X, 2) = X
Next X
MsgBox "fatto"
End Sub |
| | Post: 98 | Registrato il: 03/05/2016
| Città: MILANO | Età: 50 | Utente Junior | Excel 2011 | | OFFLINE |
|
09/05/2020 13:53 | |
ciao dodo grazie
il fatto è che io pensavo che i colori venissero presi direttamente dai valori contenuti nella tabella perchè la mia intenzione sarebbe stata che una volta generata la tabella potessi intervenire sostituendo i numeri presenti nella tabella con dei codici alfanumerici mi dispiace e riconosco che è un mio errore non essermi spiegato bene
provo a riallegare il file più esplicito
ringrazio e saluto tutti
Simone |
| | Post: 2.797 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
09/05/2020 17:23 | |
Ciao
non ti preoccupare.
Comunque, guardando con attenzione i colori della tabella, meglio utilizzare Color, in quanto ColorIndex è generico (per esempio colorIndex 49 è un blu tra quelli disponibili nelle palette, non quel preciso tipo di blu).....
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Value = "" Then
Target.Interior.ColorIndex = xlNone
Exit Sub
End If
If Not Intersect(Target, Range("F10:J10")) Is Nothing Then
sigla = Target.Value
With Range("A1:H7")
Set C = .Find(sigla, LookIn:=xlValues, lookat:=xlWhole)
If Not C Is Nothing Then
Target.Interior.Color = C.Interior.Color
Else
Target.Interior.ColorIndex = xlNone
End If
End With
End If
End Sub
Ovviamente sul modulo del foglio....
saluti
[Modificato da dodo47 09/05/2020 17:33] Domenico
Win 10 - Excel 2016 |
| | Post: 99 | Registrato il: 03/05/2016
| Città: MILANO | Età: 50 | Utente Junior | Excel 2011 | | OFFLINE |
|
09/05/2020 21:11 | |
grazie dodo é proprio quello che volevo ottenere
un grazie anche a abcdef per per avere preso parte
saluto
Simone |
|
|