エクセルで色付けのVBAを作成してるのですが・・。
エクセルでレンジ値の大きさにより色付けをする(下の条件)VBAを作りたいのですが
うまく走りません。お手数とは思いますがご教授お願いします。
シート "aaa" のレンジ "A3<A2<A1" とだんだん大きくなれば、
シート "bbb" のレンジ "B1" の文字を黄色にして、シート "bbb" のレンジ "C1" の文字を赤色へ
シート "aaa" のレンジ "A3<A2<A1" とだんだん大きくなれば、
シート "bbb" のレンジ "B1" の文字を緑色にして、シート "bbb" のレンジ "C1" の文字を赤色へ
シート "aaa" のレンジ "A3,A1" が空白の場合、シート "bbb" のレンジ "C1" の文字を赤色へ
シート "aaa" のレンジ "A3,A2,A1" が上の条件に合わなければ、
シート "bbb" のレンジ "B1" の文字を黒色にし、シート "bbb" のレンジ "C1" の文字を赤色にして終わる。
というようなプログラムで下記のように作りました。
("A1,A2,A3"に入る値は50~100まで)
-----------------------------------------------
Sub 注意()
Dim v506Hi, v506Lo, v506a, v506b As Single
v506a = Worksheets("aaa").Range("A3")
v506b = Worksheets("aaa").Range("A1")
If Worksheets("aaa").Range("A3") <> "" Then
GoTo Sub1
ElseIf Worksheets("aaa").Range("A1") <> "" Then
GoTo Sub1
Else
Worksheets("bbb").Range("B1").Font.Color = RGB(0, 0, 0)
GoTo sub2
Sub1:
Select Case v506a
Case Is < Worksheets("aaa").Range("A2")
v506Hi = Worksheets("aaa").Range("A2")
v506Lo = 0
Case Is > Worksheets("aaa").Range("A2")
v506Lo = Worksheets("aaa").Range("A2")
v506Hi = 500
Case Is = Worksheets("aaa").Range("A2")
v506Hi = 500
v506Lo = 0
End Select
Select Case v506b
Case Is > v506Hi
Worksheets("bbb").Range("b1").Font.Color = RGB(255, 255, 0)黄色
Case Is < v506Lo
Worksheets("bbb").Range("b1").Font.Color = RGB(0, 255, 0)緑
Case Else
Worksheets("bbb").Range("b1").Font.Color = RGB(0, 0, 0)
End Select
sub2:
Worksheets("bbb").Range("c1").Font.Color = RGB(255, 0, 0)赤
End If
End Sub
-----------------------------------------------------------
プログラム初心者で間違いだらけとは思いますが、よろしくお願いいたします。
お礼
ありがとうございます!できました!!