ExcelマクロVBA入門
第34回.セルの書式(塗りつぶし,Interior)

Excelマクロの基礎と応用、エクセルVBAの入門・初級・初心者向け解説
最終更新日:2017-12-30

第34回.セルの書式(塗りつぶし,Interior)

セルを目立たせる最も有効な手段は、セルを色で塗りつぶすことでしょう、


セル(Rangeオブジェクト)の塗りつぶし(パターン)は、Interiorプロパティになります。


Interiorプロパティは、Interiorオブシェクトを返します。

つまり、Interiorプロパティを経由して、Interiorオブシェクトを扱う事になります。

Range.InteriorでInteriorオブシェクトを扱い、セルの塗りつぶし指定します。


マクロでの指定

Range.Interior.プロパティ = 設定値

そして、Interiorオブジェクトには、以下のプロパティがあります。


プロパティ プロパティの説明 プロパティの設定値と説明
Color 塗りつぶす色 RGB値を表す長整数※1
ColorIndex 塗りつぶす色 現在のカラー パレットのインデックス
Pattern 塗りつぶしのパターン XlPattern 列挙
PatternColor パターンの色 RGB値を表す長整数※1
PatternColorIndex パターンの色 現在のカラー パレットのインデックス

2007以降では、グラデーションの指定もできますが、

かなり複雑になりますので、ここでは説明を省略します。

必要な場合は、マクロの記録を使用して下さい。

ただし、グラデーションは、ワークシートに設定して置く事をお勧めします。



色定数・・・※1

エクセルには、色を表す定数が容易されています。


vbBlack
vbRed
vbGreen
vbYellow
vbBlue
vbMagenta マゼンタ
vbCyan シアン
vbWhite

RGB値を表す長整数の代わりに、上記の定数を使用することが出来ます。



RGB関数

RGB値を作成する関数として、

RGB関数が用意されています。

RGB(red, green, blue)

red, green, blue、それぞれ、0~255で指定します。

Range.Font.Color = RGB(255, 0, 0) '赤
Range.Font.Color = RGB(255, 255, 255) '白
Range.Font.Color = RGB(0, 0, 0) '黒



塗りつぶしなし

塗りつぶしを解除する場合は、

Range("A1").Interior.Color = xlNone

見た目の結果は、白の塗りつぶしと同じように見えますが、

あくまで、「白の塗りつぶし」と「塗りつぶしなし」は違うということを理解してください。



条件付き書式で、データに応じて色を変更することはできますが、
条件付き書式は、行列の挿入削除により分断が起こり、シートが重くなる一因になることがあります。
このような場合は、条件付き書式は使わずにマクロで塗りつぶした方が効率的だと言えます。



同じテーマ「マクロVBA入門」の記事

セルの書式(表示形式,NumberFormatLocal)
セルの書式(配置,Alignment)
セルの書式(フォント,Font)
セルの書式(塗りつぶし,Interior)
セルの書式(罫線,Border)
総合練習問題4
ブック・シートの指定
セルに計算式を設定(Formula)
セルのクリア(Clear,ClearContents)
セルのコピー・カット&ペースト(Copy,Cut,Paste)
セルのコピー&値の貼り付け(PasteSpecial)


新着記事NEW ・・・新着記事一覧を見る

IfステートメントとIIF関数とMax関数の速度比較|VBA技術解説(6月23日)
Withステートメントの実行速度と注意点|VBA技術解説(6月6日)
VBA+SeleniumBasicで検索順位チェッカー(改)|VBA技術解説(6月2日)
マクロでShift_JIS文字コードか判定する|VBA技術解説(6月1日)
Shift_JISのテキストファイルをUTF-8に一括変換|VBAサンプル集(5月31日)
「VBAによる解析シリーズその2 カッコ」をやってみた|エクセル(5月21日)
VBA+SeleniumBasicで検索順位チェッカー作成|VBA技術解説(5月18日)
テーブル操作のVBAコード(ListObject)|VBA入門(5月12日)
テーブル操作の概要(ListObject)|VBA入門(5月12日)
VBAのスクレイピングを簡単楽にしてくれるSelenium|VBA技術解説(5月6日)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.ひらがな⇔カタカナの変換|エクセル基本操作
7.繰り返し処理(For Next)|ExcelマクロVBA入門
8.マクロって何?VBAって何?|ExcelマクロVBA入門
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄


  • >
  • >
  • >
  • セルの書式(塗りつぶし,Interior)

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。






    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
    本文下部へ