次の方法で共有

VBAで条件付き書式を4つ以上設定したい。

Anonymous
2019-06-29T08:30:22+00:00

お世話になっております。

VBAで条件付き書式を4つ以上設定したいのですが、4つ目の条件を指定した際にエラーになってしまいます。

デザインビューで手動で作業すれば4つ以上設定できるのですが、数が多くて変更する可能性もあるのでVBAで設定したいのですが、うまくいきません。

どなたか、ご教授お願い致します。

フォームの読み込み時に以下のコードを記述して、実行すると以下のエラーがでます。

「実行時エラー '7966'

実際の書式条件の数よりも多い値が、書式条件数に設定されています。」

' フォームにある全コントロールが対象

For Each ctl In Me.Form.Controls

    With ctl

        ' コンボボックスの場合

        If .ControlType = acComboBox  Then

            ' いったん条件付き書式を削除

            .FormatConditions.Delete

            '条件を設定する

            Set fmtCondition = .FormatConditions.add(acExpression, acEqual, "条件式1")

            fmtCondition.BackColor = RGB(186, 20, 25)

            fmtCondition.ForeColor = RGB(186, 20, 25)

            '条件を設定する

            Set fmtCondition = .FormatConditions.add(acExpression, acEqual, "条件式2")

            fmtCondition.BackColor = RGB(255, 194, 15)

            fmtCondition.ForeColor = RGB(255, 194, 15)

            '条件を設定する

            Set fmtCondition = .FormatConditions.add(acExpression, acEqual, "条件式3")

            fmtCondition.BackColor = RGB(255, 242, 0)

            fmtCondition.ForeColor = RGB(255, 242, 0)

            '条件を設定する

            Set fmtCondition = .FormatConditions.add(acExpression, acEqual, "条件式4")

            fmtCondition.BackColor = RGB(168, 217, 78) ←ここで実行時エラーがでます。

            fmtCondition.ForeColor = RGB(168, 217, 78)

        End If

    End With

Next ctl

以上、よろしくお願い致します。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

1 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2019-06-29T08:55:44+00:00

    すみません、自己解決しました。

    条件式がおかしかったようで、式を見直したら無事登録できました。

    お騒がせ致しました。

    この回答は役に立ちましたか?

    1 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません