条件付き書式でセルに色を付けた際のズレ
OSバージョン:Windows7 Professional SP1
Excelバージョン:Excel2007(12.0.06665.5003) SP3 MSO(12.0.06665.5003)
スケジュール表を作成するにあたり、条件付き書式で自動的に該当時刻列のセルに色が付くようにしたいと思っています。
サンプルとして、
------------------------------------------
【セルに値を入力】
・A3:A62に22:00~22:59の時刻を1分刻みで入力(開始時刻列)
・B3:B62に22:01~23:00の時刻を1分刻みで入力(終了時刻列)
・C2:BK2に22:00~23:00の時刻を1分刻みで入力(数式参照用時刻行)
【条件付き書式を設定】
■数式を使用して、書式設定するセルを決定を選択し、以下の数式を設定
"=IF(C$2>=$A3,IF(C$2<$B3,TRUE,FALSE),FALSE)"
■書式:セルを赤で塗りつぶす
■適用先:"=$C$3:$BK$62"
------------------------------------------
と設定します。
全て開始~終了が1分なので、各行1セルずつ赤色がついて、綺麗に斜めの線が出来る想定なのですが、
6行目、8行目、10行目、12行目以降の行について、2セルずつ赤色がついてしまいます。
こうなってしまう事象原因がお分かりの方はいらっしゃいますでしょうか?
よろしくお願いします。
お礼
少し進捗です。 下記の記述でセルの色が変わりました。 しかしながら、、、少し問題があります。 セルの横列は必ず0:00~になってしまいます。ここを最初のセルの開始時刻にあわせられればと思います。 また、アクティブにカーソルが重なっているセルの数値だけ反映してしまい、その他が反映されません。 すべての開始時刻~終了時刻をボタン1発で反映できればと思います。 よろしくお願いします。 ------------------------------------------------------------ Private Sub CommandButton1_Click() Dim Target As Range Set Target = Selection If Target.Row > 5 Then '3行目以降を対象とする End If Dim 開始列 As Integer, 終了列 As Integer '複数セル変更時は終了します 'If Target.Count > 2 Then Exit Sub 'C列以外は終了します If (Target.Column) <> 3 Or (IsEmpty(Target.Value)) Then Exit Sub Range(Cells(Target.Row, 5), Cells(Target.Row, 75)).Interior.ColorIndex = xlNone On Error GoTo ErrorHandler 開始列 = Application.Floor(DateDiff("n", "00:00:00", Cells(Target.Row, 2).Value), 15) / 15 終了列 = Application.Ceiling(DateDiff("n", "00:00:00", Cells(Target.Row, 3).Value), 15) / 15 Range(Cells(Target.Row, 開始列 + 5), Cells(Target.Row, 終了列 + 4)).Interior.ColorIndex = 15 Exit Sub ErrorHandler: MsgBox "Error Number = " & Err.Number & Chr(13) & _ "Error Message = " & Err.Description, , "Debug" End Sub
補足
はい上記認識しております。 その場合のVBAの記述内容がなかなか見当たりません。