Domanda

Sto cercando un modo possibilmente usando VBA per applicare il valore di riempimento di una cella guardando i campi specificati nello stesso record.Questa sarebbe una scheda campione delimitata Sheet 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
.

Campi 3-6 ciascuno contengono rispettivamente i valori per CMYK.Vorrei applicare un riempimento di sfondo cellulare sul campo 1 analizzando ogni record per i valori combinati CMYK come punto di partenza.

La conversione a RGB o HSL potrebbe dover essere eseguita inizialmente a meno che non ci sia un metodo backdoor per impostare i valori CMYK nel selettore di colori Excel / Windows.

È stato utile?

Soluzione

Questo ti darà il RGB dal cymk nei tuoi dati:

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
.

L'utilizzo di range("A1").Interior.Color=cymk2rgb(...) imposterà il colore - Nota Non sarà una corrispondenza esatta, poiché il cymk è sottractive e RGB è additivo.Questo sito: http://www.printernational.org/rgb-versirsus-cmyk.php ha maggiori dettagli confrontando i due.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top