|
はじめまして、タイムスケジュールを作成しております。
A B C D E-
項目NO 開始時刻 終了時刻 作業内容 タイムライン
開始時刻と終了時刻を読み取り、タイムライン枠を自動で作成
コマンドボタンを押すことで入力された開始時刻 終了時刻を読み取り
タイムライン下のセルの色を塗りつぶす。
あるサイトの参考記述を試しましたが、タイムラインが0:00-作成されて、
セルをクリックしアクティブな状態でないと実効できません。
よろしくお願いします。
-------------------------------------------------------------------
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
|
|