Te anexo una propuesta tal y como te había comentado, para pintar las celdas.
Esta sería la macro
Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
If Not Intersect(Target, Range("G:G,I:I,K:K,M:M,O:O")) Is Nothing Then
If Target.Count > 1 Then Exit Sub
If Target.Row < 3 Then Exit Sub
If Cells(Target.Row, "D") = "" Then
MsgBox "No hay artículo"
Exit Sub
End If
Set h2 = Sheets("Hoja2")
art = Cells(Target.Row, "D")
col = Cells(1, Target.Column)
Set b = h2.Columns("B:B").Find(art, lookat:=xlWhole)
If Not b Is Nothing Then
fila = b.Row
Set c = h2.Rows(2).Find(col, lookat:=xlWhole)
If Not c Is Nothing Then
numcolor = h2.Cells(fila, c.Column).Interior.Color
Target.Offset(0, -1).Interior.Color = numcolor
Else
MsgBox "No existe le número de color"
End If
Else
MsgBox "No existe el artículo"
End If
End If
End Sub
Información para la hoja1.
En la hoja1 va una macro que en automático se ejecuta, cada vez que modificas alguna de las columnas "CANT"; cundo escribes el número de cantidad, en automático la macro va a la hoja2 y obtiene el color en base al Artículo de la columna "D" y al color que tienes en la fila 1.
Es importante que en la fila 1 sigas poniendo el número de color, ese dato es necesario para encontrar el color en la hoja2.
Información para la hoja2
Ahora, en la hoja 2 puedes agregar más colores. En la columna B escribe los artículos y en las columnas C a la G o en adelante pon los colores.
Es importante que en la fila 2 sigas poniendo el número de color, en este caso tienes del 1 al 5.
Te anexo el archivo con la macro.
https://www.dropbox.com/s/6bpavjtsbg4e4vy/PROYECTO%20dam2.xlsm?dl=0
Saludos. Dante Amor
Si es lo que necesitas.