Saltar al contenido

¿Cómo almacenar el color RGB en variable?

Solución:

RGB devuelve un Long, entonces necesitas declarar clrBlue como Long en lugar de como ColorFormat.

Dim clrBlue As Long

clrBlue = RGB(0, 0, 255)

Application.union(Range("A2"), Range("B3")).Interior.Color = clrBlue

Como han dicho otros, RGB () devuelve un Long, por lo que deberá usar eso en lugar de ColorFormat. En una nota algo relacionada, me gusta mucho la enumeración Color en C #, y comencé a imitar eso en mis módulos VBA. Puede crear su propia enumeración para almacenar los valores de los colores en su proyecto, luego hacer referencia al color con Color.Blue.

Esto también hace que sea realmente fácil modificar un color, si decides optar por un tono diferente de azul. Actualice la enumeración y se actualizarán todos los lugares en los que ha usado Color.Blue.

Ejemplo:

Public Enum Color
    Black = 0         'RGB(0, 0, 0)
    Blue = 14390640   'RGB(112, 149, 219)
    Gray = 11842740   'RGB(180, 180, 180)
    Red = 6118894     'RGB(238, 93, 93)
    White = 16777215  'RGB(255, 255, 255)
End Enum

Para obtener el valor largo del valor RGB para almacenar, simplemente lancé el valor a la ventana Inmediato y copié la salida.

En la ventana inmediata, escriba:

? RGB(112, 149, 219)

La salida será 14390640. Podría haber una forma más sencilla de obtener el valor.

No he probado esto y no estoy discutiendo con ninguno de los comentaristas anteriores.

Me doy cuenta de que la muestra de código original tiene: clrBlue = RGB (0, 0, 256)

El número más alto permitido en RGB es 255. Ese podría ser el problema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *