Pregunta

Estoy buscando una manera que posiblemente use VBA para aplicar el valor de relleno de una celda mirando los campos específicos en el mismo registro.Esta sería una pestaña de muestra Hoja de Excel delimitada:

BEGIN_DATA_FORMAT
SampleID    SAMPLE_NAME CMYK_C  CMYK_M  CMYK_Y  CMYK_K  LAB_L   LAB_A   LAB_B

BEGIN_DATA                              
1   1   100 0   0   60  34.16   -19.52  -27.46
2   2   100 100 0   60  22.02   6.27    -23.25
3   3   100 0   0   0   54.56   -31.12  -45.29
END_DATA

Los campos 3-6 contienen los valores para CMYK, respectivamente.Me gustaría aplicar un relleno de fondo de celda al campo 1 analizando cada registro para los valores CMYK combinados como punto de partida.

Es posible que la conversión a RGB o HSL debe realizarse inicialmente a menos que haya un método de puerta trasera para configurar los valores de CMYK en el selector de color de Excel / Windows.

¿Fue útil?

Solución

Esto le dará el RGB del CYMK en sus datos:

Function CYMK2RGB(c As Integer, y As Integer, m As Integer, k As Integer) As Long
Dim R As Integer
Dim G As Integer
Dim B As Integer
Dim colors As Integer

colors = 255 * (100 - k) / 100
R = colors * (100 - c) / 100
G = colors * (100 - m) / 100
B = colors * (100 - y) / 100

CYMK2RGB = RGB(R, G, B)
End Function

Uso de range("A1").Interior.Color=cymk2rgb(...) establecerá el color: NOTA No va a ser una coincidencia exacta, ya que CYMK es sustractiva, y RGB es aditivo.Este sitio: http://www.printernational.org/rgb-versus-cmyk.php tiene más detalles comparando los dos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top