[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『アクティブなセルの塗りつぶしについて』(hiro)
選択中のセルを塗りつぶすだけの場合、VBAだとたとえば次のように書けると思います。
Range("E2").Interior.ColorIndex = 6
ところが操作履歴をマクロで記録すると、次のようになっていました。
With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 65535 .TintAndShade = 0 .PatternTintAndShade = 0 End With
今、一つ一つ調べてはいるのですが、なかなか要領を得ず…
とりあえずお聞きしたいのはセルの色を指定するのに、本当はこんなに色々と設定しなくてはならないのかということです。
ColorIndexで指定できるのは、ごく大まかなものだけなのでしょうか。
よろしくお願いします。
< 使用 Excel:unknown、使用 OS:unknown >
色にはColorプロパティが使われるのと同様に、自動記録は他のプロパティも同時指定された場合でも対応できるよう、いろいろなプロパティの代入を出力します。 実際に変更した以外のものはデフォルト値なので、不要と思えるものはコメントアウトして試すと良いでしょう。 そのうち、どれが無駄なものか判ってきます。
疑問に思ったときは、質問の前に、ヘルプを調べてみてください。 ヘルプには多くのヒントが含まれています。 探すべきは、1にヘルプ、2にWeb検索、それでも判らなければ、3に質問です。 ヘルプを見れば、ColorIndexで指定できる数字と色の一覧が判るでしょう。というか、色の一覧を見ていないと、6が黄色だということが判らなかったはずですよ。
(???) 2018/05/09(水) 09:57
昔(Excel2003まで)はマクロの記録でも Range("E2").Interior.ColorIndex = 6 のように記録されていました。 ColorIndexで指定できる数は最大56で、これはExcel2003まではブックで表示できる色の数が 56だったことに由来しているからと記憶しています。
現在(Excel2007以降)はブックで表示できる色の数が1600万色まで増強されているため、 マクロの記録ではColorIndex(最大56は変更なし)では許容しきれず、くColorプロパティが 使用されるようになったと思います。
ColorIndexは昔の名残と考えていいかもしれません。 (ろっくん) 2018/05/09(水) 10:39
皆さんのコメントのおかげで、理解しました。
ありがとうございます。
(hiro) 2018/05/09(水) 10:58
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.