Excel VBA質問箱 IV

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

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


11660 / 76734 ←次へ | 前へ→

【70606】Re:セルの背景色2003,2010
発言  UO3  - 11/12/6(火) 10:32 -

引用なし
パスワード
   ▼充実野菜 さん:

おはようございます

まず、言葉の問題なんですが

>つまり正常な動作とはなりませんでした

動作は「正常」です。「結果」が違っているということですね。

officetanaka.net/excel/vba/cell/cell04.htm

2003では背景色としてセットできる色の数は56種類です。
この56種類に対してカラーインデックスも1〜56がアサインされています。
仮に、2003で、ColorIndexではなく、Colorで直接色番号(あるいはRGB関数で指定)で
背景色をセットした場合、「56種類のいずれか、近似値」に強制変更されます。

一方、2007以降は、背景色が1600万色、つまり、可能な色番号すべてがサポートされます。
で、2007以降では、もうColorIndexという考え方そのものが「2003との互換性を保持するためのプロパティ」
の位置づけで、基本的には、もう使うのはやめようねという性格になっているようですね。

>2003,2010で判定するにはどうすれば良いでしょうか

Application.Versionをチェックしてロジックを分岐させるか、あるいは#IFでコンパイルレベルで
生成コードを変えるといった方法があります。

www.asahi-net.or.jp/~zn3y-ngi/YNxv212.html

もう1つは、2007以降での背景色セットを、色指定ではなく明示的に、ColorIndex指定にして
2003カラーインデックスでサポートされている範囲のみ使うということも考えられるかもしれませんね。

4 hits

【70596】セルの背景色2003,2010 充実野菜 11/12/5(月) 18:26 質問
【70605】Re:セルの背景色2003,2010 Jaka 11/12/6(火) 9:49 質問
【70606】Re:セルの背景色2003,2010 UO3 11/12/6(火) 10:32 発言
【70608】Re:セルの背景色2003,2010 UO3 11/12/6(火) 11:31 発言
【70656】Re:セルの背景色2003,2010 充実野菜 11/12/12(月) 18:04 お礼

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