VBA msgbox中的时间自定义格式

时间:2014-12-09 14:14:31

标签: excel vba time format msgbox

我遇到了VBA的问题。

我正在尝试显示包含DATE的msgbox,但我只想将时间显示为" hh:mm"。

我在我的代码中编写以下内容以尝试应用所需的格式:

  

sum1 =格式(ThisCell," h:mm")

sum1定义为DATE,ThisCell定义为Range。 msgbox中显示的格式为hh:mm AM / PM。

我已经彻底搜寻了一种方法来做到这一点,但我找不到办法。

非常感谢任何想法或建议。

祝你有个美好的一天。

3 个答案:

答案 0 :(得分:1)

尝试字符串而不是日期

Sub dural()
    Dim sum1 As String, ThisCell As Range
    Set ThisCell = ActiveCell
    sum1 = Format(ThisCell, "h:mm")
    MsgBox sum1
End Sub

答案 1 :(得分:0)

Dim sum1 As Date
Dim ThisCell As Range

Set ThisCell = Cells(1, 1) 'Your range goes here
sum1 = Format(ThisCell, "hh:mm am/pm")

MsgBox sum1

答案 2 :(得分:0)

假设

(1)ThisCell引用ThisWorkbook.Worksheets(" Sheet1")。范​​围(" A1")

(2)和ThisCell的格式设置为" dd / mm / yyyy hh:mm"

(3)将sum1声明为字符串

是可以的
Sub displayTime()

    Dim ThisCell As Range
    Dim sum1 As String

    Set ThisCell = ThisWorkbook.Worksheets("Sheet1").Range("A1")
    If ThisCell.Value = "" Then
        ThisCell.Value = 0
    End If

    sum1 = Format(ThisCell, "hh:mm am/pm")
    MsgBox sum1

End Sub