Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6701 / 76734 ←次へ | 前へ→

【75631】Re:ColorIndexと同じ色をRGBで表には
発言  kanabun  - 14/5/30(金) 9:41 -

引用なし
パスワード
   ▼ドカ さん:こんにちは〜

>対応表などあるのでしょうか?

ヒントです。

新規Bookを作成し、まずSheet1 でテストです。

'準備 : [A1]より下のセルを10個程度 色塗りしておきます

Sub testSheet1()
  Const 行数 = 10
  Dim a(1 To 行数, 1 To 2)
  Dim c As Range
  Dim i&
  For Each c In Range("A1:A" & 行数)
    i = i + 1
    a(i, 1) = c.Interior.ColorIndex
    a(i, 2) = "'" & Right$( _
       "0000000" & Hex$(c.Interior.Color), 8)
  Next
  [B1].Resize(行数, 2).Value = a
End Sub
実行すると、B列とC列にこんなようなデータが出力されます:
 B列   C列
6    0000FFFF
43    0000CC99
33    00FFCC00
40    0099CCFF
44    0000CCFF
38    00CC99FF
3    000000FF
9    00000080
1    00000000
15    00C0C0C0

これは、コードを見て分かるように、A列のColorIndex と Color を
となりのセルに表示したものです。
意味は たとえば 2行目 [A2]のColorIndex は 43 で その Color値は
&H0000CC99 であるということです。
&H0000CC99 は 右から(お尻から)1バイトずつとりだすと RGB値に
なります。 R=99 G=CC B=00 (16進表記) です。

Colorが &h00CC99FF なら R=FF, G=99, B=CC ということです。


もうひとつ、こんどは Sheet2 で実験です。
(こんどは 前準備は要りません)

Sub testSheet2()
  Dim i&, y&
  For i = 0 To 15
    y = i + 1
    Cells(y, 1).Interior.Color = QBColor(i)
    Cells(y, 2).Value = i
    Cells(y, 3).Value = "'" & Right$( _
     "0000000" & Hex$(Cells(y, 1).Interior.Color), 8)
  Next
End Sub
これを実行しますと A列が16セル塗りつぶされ、
B列    C列
0    00000000
1    00800000
2    00008000
3    00808000
4    00000080
5    00800080
6    00008080
7    00C0C0C0
8    00808080
9    00FF0000
10    0000FF00
11    00FFFF00
12    000000FF
13    00FF00FF
14    0000FFFF
15    00FFFFFF

のような出力が得られます。
このB列が QBColor()関数で、C列は例によってA列の色をColorプロパティで
取得し、それを16進表記したものです。
たとえば Yellow のQBColor番号 は 14 で そのColorは &h0000FFFF ですから、
RGB値は R=FF, G=FF, B=00 ということになります。

6 hits

【75630】ColorIndexと同じ色をRGBで表には ドカ 14/5/30(金) 5:53 質問
【75631】Re:ColorIndexと同じ色をRGBで表には kanabun 14/5/30(金) 9:41 発言
【75632】Re:ColorIndexと同じ色をRGBで表には kanabun 14/5/30(金) 9:53 発言
【75633】Re:ColorIndexと同じ色をRGBで表には kanabun 14/5/30(金) 10:13 発言
【75635】Re:ColorIndexと同じ色をRGBで表には ドカ 14/5/30(金) 19:09 お礼

6701 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free