VBA関数
QBColor関数

Excelマクロで必須のVBA関数を入門・初級・初心者向けに詳細解説
公開日:2013年5月以前 最終更新日:2025-06-16

QBColor関数


QBColor関数は、QuickBasic(QB)のカラーパレットに対応するRGBカラー値を取得するために使用されます。
これにより、Excelのセルやシェイプなど、VBAで色を設定する際に、あらかじめ定義された16色の基本的な色を簡単に指定できます。



QBColor関数の構文

QBColor(color)

color (必須):
データ型: Long
0から15までの整数値を指定します。この数値がQuickBasicのカラーパレットのインデックスに対応します。

解説・制限事項等
  • QBColor 関数は、指定されたcolor引数に対応するRGBカラー値(Long型)を返します。
  • 返されるRGBカラー値は、赤、緑、青の各色の成分を組み合わせて表現される数値です。VBAでは、RGB(Red, Green, Blue) 関数で独自の色を作成することもできますが、QBColor は基本的な16色に限定されます。
  • color引数として指定できる値とその対応色は以下の通りです。

    色の名称(例)
    0
    1
    2
    3 シアン(水色)
    4
    5 マゼンタ(紫)
    6 黄色
    7
    8 灰色
    9 明るい青
    10 明るい緑
    11 明るいシアン
    12 明るい赤
    13 明るいマゼンタ
    14 明るい黄色
    15 明るい白

  • color引数が0から15の範囲外の場合、ランタイムエラーが発生します。
  • Excelのセルや図形の塗りつぶし色、フォント色などに Interior.Color や Font.Color プロパティを使って色を設定する際に便利です。

QBColor関数の使用例

次のコード例では、QBColor 関数を使って、Excelのセルの背景色をQuickBasicの16色に設定し、その結果を確認します。

Sub QBColor_SimpleSample()

  Dim i As Long
  
  ' ヘッダーの設定
  With ThisWorkbook.Sheets(1)
    .Cells(1, 1).Value = "QBColor値"
    .Cells(1, 2).Value = "セル色"
    .Cells(1, 1).Font.Bold = True
    .Cells(1, 2).Font.Bold = True
  End With

  ' 0から15までのQBColorをセルに適用
  For i = 0 To 15
    With ThisWorkbook.Sheets(1)
      .Cells(i + 2, 1).Value = i ' QBColor値をA列に表示
      .Cells(i + 2, 2).Interior.Color = QBColor(i) ' B列のセルに色を設定
      .Cells(i + 2, 2).Font.Color = IIf(i < 8, QBColor(15), QBColor(0)) ' テキスト色を自動調整(見やすくするため)
    End With
  Next i
  
  ' 列幅を自動調整
  ThisWorkbook.Sheets(1).Columns("A:B").AutoFit
  
  MsgBox "シート1にQBColor関数で設定した16色が適用されました。", vbInformation, "QBColor 関数 例"

End Sub

  • このコードでは、Forループを使ってiを0から15まで変化させ、各QBColor値をシート1のセルに適用しています。
  • .Cells(i + 2, 1).Value = i でA列にQBColorのインデックス番号を表示しています。
  • .Cells(i + 2, 2).Interior.Color = QBColor(i) が、QBColor 関数を使ってセルの背景色を設定している主要な部分です。QBColor(i) が、インデックスiに対応するRGBカラー値を返し、それがInterior.Colorプロパティに設定されます。
  • IIf(i < 8, QBColor(15), QBColor(0)) の部分は、背景色が見やすいように、暗い色(0~7)のセルには白い文字(QBColor(15))を、明るい色(8~15)のセルには黒い文字(QBColor(0))を設定する工夫です。
  • このマクロを実行すると、ExcelシートのB列に、QuickBasicのカラーパレットに対応する16色のセルが順番に表示されます。


※本記事の作成にあたっては、生成AI(Gemini)を活用し一部の文章作成を行っています。最終的な内容は人間による確認・編集を経て掲載しています。


Office VBA リファレンス QBColor関数

※VBA関数一覧
マクロVBA関数の一覧と解説です、どんな関数があるかは一度は確認しておくとをお勧めいたします。どんな関数があるだけでも知っておけば、詳細の使い方は実際に使うときに調べても良いでしょう。文字列操作…34 分岐…3 型変換…14 データ判定…10 日付時刻…20 配列…6 ファイル操作…14 数学/財務…28 その他……



同じテーマ「VBA関数」の記事

CreateObject関数
DoEvents関数
Environ関数
GetObject関数
IMEStatus関数
InputBox関数
MsgBox関数
Partition関数
QBColor関数
RGB関数
Shell関数


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

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




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


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



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