| 
    
     |  | ▼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キーでステップ実行してどのように弾かれているか確かめて下さい。
 
 |  |