色を3色に分けて取得するユーザー定義関数
動画でExcel タイトル
テーマカラーの取得と色を3色に分けて取得するユーザー定義関数
動画版「マクロ講座」です。
今回はテーマカラーの取得について説明します。
背景色のテーマカラーは、Rangeオブジェクトのインテリア
テーマカラーはユーザーがどのテーマカラーを選択しているかという設定により表示される色が違ってきます。 ここではユーザーが
ページレイアウト タブのテーマカラーの【オフィス2013から2022のテーマ】を選択しているものとして、その中の色を選択する 例を表示しています。
テーマカラーを取得するには オブジェクトの interior プロパティ から theme COLOR プロパティ を取得します。
また色を設定するのに、RGB(255,0,0)のような設定がカンタンにできるように色を3色に分けて取得するユーザー定義関数も紹介します。
テーマカラーの取得と色を3色に分けて取得するマクロ
XlThemeColor(テーマカラーの定数)
名前 | 値 | 説明 |
---|---|---|
xlThemeColorAccent1 | 5 | Accent1 |
xlThemeColorAccent2 | 6 | Accent2 |
xlThemeColorAccent3 | 7 | Accent3 |
xlThemeColorAccent4 | 8 | Accent4 |
xlThemeColorAccent5 | 9 | Accent5 |
xlThemeColorAccent6 | 10 | Accent6 |
xlThemeColorDark1 | 1-d | Dark1 |
xlThemeColorDark2 | 2-d | Dark2 |
xlThemeColorFollowedHyperlink | 12 | 表示済みのハイパーリンク |
xlThemeColorHyperlink | 11 | ハイパーリンク |
xlThemeColorLight1 | 1 | Light1 |
xlThemeColorLight2 | 2 | Light2 |
動画で紹介したコード
テーマカラーをその番号を利用して 選択範囲の色を変更します。
Sub Samp53a色指定() Selection.Interior.ThemeColor = 2 Selection.Interior.TintAndShade = 0.4 End Sub
テーマカラーを定数で指定するコード
Sub Samp51a() Selection.Interior.ThemeColor = xlThemeColorAccent1 Selection.Interior.TintAndShade = 0.4 End Sub
テーマカラーを変数を使って範囲に設定していくコード
Sub Samp53c() Dim i As Long For i = 1 To 10 Selection.Offset(0, i - 1).Interior.ThemeColor = i Selection.Offset(0, i - 1).Interior.TintAndShade = 0.4 Next i End Sub
選択範囲に、テーマカラーを変えながら、TintAndShadeも変更してグラデーションを表示するコード
Sub Samp53f() Dim i As Long, j As Long For i = 0 To 5 Selection.Offset(i, 0).Interior.ThemeColor = i + 5 For j = 1 To 10 With Selection.Offset(i, j).Interior .ThemeColor = i + 5 .TintAndShade = j / 10 End With Next j Next i End Sub