|
▼KOTARO さん:
>ウッシ さんお世話になります。
>やってみましたが、マクロが走らないようです。
>(特にエラーは表示されませんでした)
こんにちは
「マクロが走らない」という表現は不正確なのでやめた方がいいです。
今回のマクロのように条件分岐処理が有る場合、エラー以外で期待した結果が得られない
場合は、その条件分岐処理で弾かれていると考えていいと思います。
A列の、アクティブセルの行から最終行までの値の入ったセルを一つずつ
(「r」がその一つずつのセルの事)を処理しています。
Select Case True
'c = ActiveCell.Column、B列にアクティブセルがあれば「2」
'r(1, 2)は、rの右隣のセルの事
'条件1:B列のセルに「1」が入力されている場合は、C列に何らかのデータが入力されていること
Case r(1, c) = 1 And Not IsEmpty(r(1, c + 1))
'条件2:B列のセルに「2」が入力されている場合は、C列もブランクであること
Case r(1, c) = 2 And IsEmpty(r(1, c + 1))
'条件3:B列のセルがブランクの場合、Z列(固定)がブランクまたは「3」が入力されていること
Case IsEmpty(r(1, c)) And _
(IsEmpty(Cells(r.Row, "Z")) Or _
Cells(r.Row, "Z").Value = 3)
'上記条件以外の場合B列セルを赤に
Case Else
r(1, c).Interior.ColorIndex = 3
End Select
となっていますので、F8キーでステップ実行してどのように弾かれているか確かめて下さい。
|
|