Asignar una variable a color RGB

Soy novato en el uso de VBA. Deseo asignar una variable al color RGB para que coloree las celdas de un rango. El problema que tengo es que las celdas las colorea de negro y no con el color asignado a las variables.

El macro es el siguiente:

Sub Test1()

Dim Color1 As Long
Dim Color2 As Long
Dim Color3 As Long
Dim Color As Long
Dim ni As Integer
Dim x As Variant
Dim cell As Range

Color1 = RGB(255, 255, 212)
Color2 = RGB(255, 225, 156)
Color3 = RGB(254, 179, 81)

ni = 5

x = 0
For Each cell In Selection
If ni = 5 Then
For z = 6 To 8
x = x + 1
Range("F" & z).Interior.Color = Colorx
'MsgBox "x: " & x
MsgBox "z: " & z
MsgBox "Color" & x
Next z
Else
'Do Nothing
End If
Next cell

End Sub

Les agradecería mucho vuestra ayuda porque no he logrado encontrar la solución.

1 Respuesta

Respuesta
1

Colorx está mal, supongo que lo que buscas con esto es que quede Color1, Color2, Color3, pero eso no funciona de ese modo, te recomiendo que reemplaces esas 3 variables por un arreglo. Podría ser algo como (ojo que no lo verifiqué):

Sub Test1()
Dim Color(1 To 3) As Long
Dim ni As Integer
Dim x As Variant
Dim cell As Range
Color(1) = RGB(255, 255, 212)
Color(2) = RGB(255, 225, 156)
Color(3) = RGB(254, 179, 81)
ni = 5
For Each cell In Selection
If ni = 5 Then
For z = 6 To 8
Range("F" & z).Interior.Color = Color(z-5)
MsgBox "z: " & z
MsgBox "Color" & z-5
Next z
Else
'Do Nothing
End If
Next cell
End Sub

¡Muchísimas gracias Gustavo! ¡Funcionó perfectamente! ¡No me lo hubiese imaginado! ¡Mis respetos experto! ¡Ya puedo continuar avanzando en mi trabajo! ¡Que tengas un magnífico día!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas