簡體   English   中英

計算列范圍內兩次之間的差異

[英]Calculate difference between two times in range of columns

我試圖計算每行A5A20B5B20之間的差異,如果等於 4 小時,則將顏色更改為綠色。 我很難設置一個范圍。 我目前一次只能做一個單元格。

Sub test()
    Dim Total As Double
    Dim Timein As Date
    Dim Timeout As Date
    Timein = CDate(Range("A7").Value)
    Timeout = CDate(Range("B7").Value)

    Total = 24 * ((Timeout - Timein))
    Debug.Print Total
    Debug.Print Format(Total, "#,##0_);(#,##0)")
    If Total = 4 Then
        Range("A7").Interior.Color = vbGreen
    End If

    Debug.Print "Number of hours = " & Total * 24
End Sub

照片示例在這里

為什么你甚至使用 VBA 來完成這項任務? Excel 具有專門用於此類操作的內置命令和功能(條件格式)。 使用 VBA 是一種矯枉過正。

Sub test()

    Dim dteIn As Date
    Dim dteOut As Date
    Dim rng As Range, cll As Range

    Set rng = Range("A5:A20")

    For Each cll In rng
        dteIn = CDate(cll.Value)
        dteOut = CDate(cll.Offset(0, 1).Value)
        If CInt((dteOut - dteIn) * 24) = 4 Then
            cll.Interior.Color = vbGreen
        End If
    Next

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM