CMYK细胞值Excel中的着色细胞
题
我正在寻找可能使用VBA来通过查看同一记录中的指定字段来应用单元格的填充值。这将是示例标签分隔Excel表:
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
.
字段3-6分别包含CMYK的值。我想通过将组合的CMYK值解析为起点,将单元格背景填充到字段1应用于字段1。
最初可能需要将转换为RGB或HSL,除非有一个后门方法,可以在Excel / Windows彩色选择器中设置CMYK值。
解决方案
这将为您提供数据中的RGB:
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
.
使用range("A1").Interior.Color=cymk2rgb(...)
将设置颜色 - 注意它不会完全匹配,因为Cymk是减法的,并且RGB是添加剂。本网站: http://www.printernation.org/rgb-versus-cmyk.php 有更多细节比较两者。
不隶属于 StackOverflow