条件付き書式です。(しかもVBAです)
一つのフィールドに対して違う条件だけど同じ書式をつけたい時、
まとめる事は出来ないのでしょうか?
例えばフォールド1の「あ」と「い」を赤にしたい場合、
Sub test01()
Dim Field As String
Dim MyFormName As String
MyFormName = "フォーム"
Field = "フィールド1"
With Forms(MyFormName).Controls(Field)
With .FormatConditions
.Delete
With .Add(acExpression, , "[" & Field & "]=""あ""" And "[" & Field & "]=""い""")
.ForeColor = 225
End With
End With
End With
End Sub
のような事は出来ないのでしょうか?
これをすると
実行時エラー:型が一致しません。(Error 13)
になります。
素直に、
Sub test02()
Dim Field As String
Dim MyFormName As String
MyFormName = "フォーム"
Field = "フィールド1"
With Forms(MyFormName).Controls(Field)
With .FormatConditions
.Delete
With .Add(acExpression, , "[" & Field & "]=""あ""")
.ForeColor = 225
End With
With .Add(acExpression, , "[" & Field & "]=""い""")
.ForeColor = 225
End With
End With
End With
End Sub
としなくちゃダメでしょうか?
何故こんな事がしたいかと言うと、3つ以上やりたい条件がありので、
同じ書式のものはまとめたいのです。
ご教授よろしくお願いします。
解決しましたか?
ダブルクォーテーションの数とAndの位置設定が違っているようですが。
以下のように。
With .Add(acExpression, , "[" & Field & "]=""あ"" And [" & Field & "]=""い""")
あるいは、条件が「あ」または「い」の時ならば、
With .Add(acExpression, , "[" & Field & "]=""あ"" Or [" & Field & "]=""い""")
でよろしいかと。
お礼
回答ありがとうございました。