Case的问题 - DateAdd函数VBA

时间:2014-11-25 16:48:12

标签: vba case dateadd

使用DateAdd函数的情况。

这是我的代码

Select Case Range("O7").Value

    Case "CST"
         Sheet1.Cells(yz, 11).Value = DateAdd("hh", -6, Sheet1.Cells(yz, 11))
    Case "EST"
         Sheet1.Cells(yz, 11).Value = DateAdd("hh", -5, Sheet1.Cells(yz, 11))
    Case "MST"
         Sheet1.Cells(yz, 11).Value = DateAdd("hh", -7, Sheet1.Cells(yz, 11))
    Case "PST"
         Sheet1.Cells(yz, 11).Value = DateAdd("hh", -8, Sheet1.Cells(yz, 11))
    Case Else
         Range(Sheet1.Cells(yz, 11)).Value = Sheet1.Cells(yz, 11)

End Select

尝试已经存在的操纵日期并将小时从其时区更改为UTC。关于如何修复我的代码的想法? “O7”列出了CST,MST,EST,PST。 YZ,11是当前时区的日期。

1 个答案:

答案 0 :(得分:1)

DateAdd()的正确语法只是一个"h"来表示小时数。 此外,您的最后一行是多余的...删除Range(Sheet1.Cells(yz, 11)).Value = Sheet1.Cells(yz, 11)