質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

Q&A

解決済

1回答

1188閲覧

VBA 条件付き三色スケールについて

tirsujmn

総合スコア3

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

0グッド

0クリップ

投稿2021/06/24 08:11

VBAについての質問です。
C2:BN52のエリアを3色スケールで色を付けたいのですが、
条件がBR2がC2、BSがD2、、、BN52がEC52と関連するように作りたいです。
具体的な条件はBR2:EC52のエリアの数値が0.9以上の時、それぞれ対応するC2:BN52内のセルを3色スケールで表す、といったものです。
0.9以下に対応するセルは水色の背景にするつもりです。

VBA

1Sub Macro6() 2 3Dim i As Integer, j As Integer 4For i = 2 To 52 5For j = 3 To 66 6If Cells(i, j + 67).Value >= 0.9 Then 7Dim スケール As ColorScale 8Set スケール = Range(i, j).FormatConditions.AddColorScale(3) 9With スケール.ColorScaleCriteria(1) 10 .Type = xlConditionValueNumber 11 .Value = -10 12 .FormatColor.Color = RGB(0, 0, 0) 13End With 14With スケール.ColorScaleCriteria(2) 15 .Type = xlConditionValueNumber 16 .Value = 0 17 .FormatColor.Color = RGB(255, 228, 196) 18End With 19With スケール.ColorScaleCriteria(3) 20 .Type = xlConditionValueNumber 21 .Value = 1 22 .FormatColor.Color = RGB(255, 0, 0) 23End With 24 Else 25 Cells(i, j).Interior.ColorIndex = 20 '水色 26 End If 27 Next j 28 Next i 29End Sub

このようにコードを書いたのですがエラーが出てしまい実行できません。
解決方法を教えていただけたら幸いです。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Rangeの指定の仕方が間違っていますね。以下で動くと思います。

Set スケール = Range(i, j).FormatConditions.AddColorScale(3) '間違い Set スケール = Cells(i, j).FormatConditions.AddColorScale(3) 'こちらに直す

投稿2021/06/24 08:36

Usirow

総合スコア364

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tirsujmn

2021/06/24 09:14

これで解決しました!本当にありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問