ExcelVBA カラーダイアログを表示して色を選択させる方法

ExcelVBAでは、セルや文字の色をセットすることもできますが、色をコード上で指定する必要があります。

この記事では、ExcelVBAでカラーダイアログを表示し、ユーザーに選択してもらった色をセットする方法を紹介します。

0. この記事のまとめ

カラーダイアログを表示して、選択した色を取得するには、以下のコードを使用します。

Application.Dialogs(xlDialogEditColor).Show (1)
intresult = ActiveWorkbook.Colors(1)

以下のコードで、カラーダイアログから選択された色を、セルにセットします。

Application.Dialogs(xlDialogEditColor).Show (1)
intresult = ActiveWorkbook.Colors(1)

With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .Color = intresult
    .TintAndShade = 0
    .PatternTintAndShade = 0
End With

1. カラーダイアログを表示する方法

カラーダイアログとは、これのことです。

これを表示するには、以下のコードを使用します。

Application.Dialogs(xlDialogEditColor).Show (1)

2. カラーダイアログに入力した色を取得する方法

上記のコードで指定された色を取得するには、以下のコードを使います。

intresult = ActiveWorkbook.Colors(1)

変数 intresult は、int型です。

3. 選択したセルに色をセットする。

選択セルは、Selectionオブジェクトから取得できます。

Selection.Interior.Color に先ほど取得したintresult をセットすることで、セルの色を設定できます。

With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .Color = intresult
    .TintAndShade = 0
    .PatternTintAndShade = 0
End With

速攻でメモできる QuickNote リリースしました!

QuickNoteは動作が超軽量でサクサクかけるノートアプリです。一瞬の閃きを逃さずにノートを開き書き始めることができます。 アカウント登録も不要です。お試しあれ!

Excel操作をコマンドで! proBoarderExcel

Excelはマウスで操作するのが基本ですが、マウス操作に疲れてはいませんか? キーボードでExcel操作ができるようになるアプリです。オープンソースで無料です。

積み上げ! Daily Stack リリースしました!

Daily Stack は日々の積み上げを管理するToDoアプリです。過去の積み上げの振り返りだけでなく、ツイート機能もあります。 アカウント登録不要ですぐに使い始めることができます。

ExecNote.app リリースしました!

ExecNoteは、コードが実行できるMarkdownアプリケーションです。Markdownドキュメント内に記載したコードをクリックすると実行ができます。わざわざターミナルを 起動させる必要がありません!無料ですのでもしよければダウンロードをお願いします。

About Me

11年目のシステムエンジニアです。アプリで生活や仕事を改善したい🐱仕事効率化、自動化のアプリ開発が得意です、ご相談ください。 🚀エンタメ系アプリの開発も模索中🐬社内SEや個人アプリ開発者、システムエンジニアになりたい人と繋がりたい🐱