返回列表 上一主題 發帖

[發問] 如何將日期時間格式用函數求得時間+班別

回復 1# jaga0828

試試!
    Sub XL()
    Dim E As Range
    With Sheets("Sheet1")   'Sheet1 工作表名稱
            For Each E In .Range("A1", [A65536].End(xlUp))
                If TimeValue(E) > TimeValue("00:00:01") And TimeValue(E) < TimeValue("07:30:00") Then
                   E.Offset(, 1) = (Format(DateValue(E) - 1, "mm/dd")) & " 夜班"
                ElseIf TimeValue(E) > TimeValue("07:31:00") And TimeValue(E) < TimeValue("19:30:00") Then
                   E.Offset(, 1) = (Format(E, "mm/dd")) & " 日班"
                Else
                   E.Offset(, 1) = (Format(E, "mm/dd")) & " 夜班"
                End If
            Next
        End With
End Sub

TOP

回復 5# jaga0828
   
邏輯沒錯,剛剛試過沒問題
你再試一次!

TOP

本帖最後由 HSIEN6001 於 2015-1-1 10:24 編輯

回復 10# jaga0828


    改了[紅字]部分,再驗證看看是不是符合需求?!
Sub XL()
    Dim E As Range
    With Sheets("Sheet1")   'Sheet1 工作表名稱
            For Each E In .Range("A1", [A65536].End(xlUp))
                If TimeValue(E) >= TimeValue("00:00:01") And TimeValue(E) <= TimeValue("07:30:00") Then
                   E.Offset(, 1) = (Format(DateValue(E) - 1, "mm/dd")) & " 夜班"
                ElseIf TimeValue(E) >= TimeValue("07:30:01") And TimeValue(E) <= TimeValue("19:30:00") Then
                   E.Offset(, 1) = (Format(E, "mm/dd")) & " 日班"
                Else
                   E.Offset(, 1) = (Format(E, "mm/dd")) & " 夜班"
                End If
            Next
        End With
End Sub

TOP

        靜思自在 : 待人退一步,愛人寬一寸,就會活得很快樂。
返回列表 上一主題