1

我正在寻找一种可能使用 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。

最初可能需要转换为 RGB 或 HSL,除非有后门方法可以在 Excel/Windows 颜色选择器中设置 CMYK 值。

4

1 回答 1

0

这将为您提供数据中 CYMK 的 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

usingrange("A1").Interior.Color=cymk2rgb(...)将设置颜色 - 请注意,它不会完全匹配,因为 CYMK 是减法,而 RGB 是加法。这个网站: http: //www.printernational.org/rgb-versus-cmyk.php有更多的细节比较两者。

于 2012-05-23T19:43:23.840 回答