【问题标题】:Format date stored as object as "mm dd yy" using format function in VBA使用 VBA 中的格式函数将存储为对象的日期格式化为“mm dd yy”
【发布时间】:2018-04-12 15:47:34
【问题描述】:

由于某种原因,我的对象“FDFormat”将日期存储为“4/2/18”,即使我已将其格式化为“04 02 18”。所有其他对象都以正确的格式存储日期。我对为什么其他人工作正常感到有点困惑,但“FDFormat”有问题。这是我的代码:

Dim FileYear, FileMonth, FileDate, FDFormat As Date
FileDate = #4/2/2018#
FDFormat = Format(FileDate, "mm dd yy") ' FDFormat = 4/2/18
FileYear = Year(FileDate) ' FileYear = 2018
FileMonth = Format(FileDate, "mmmm") ' FileMonth = "April"

目前“FileDate”和“FDFormat”是相同的。我确信有一个简单的解释,因为我不熟悉使用“格式”功能。该代码的目的是提示用户更新“FileDate”,然后基于该子将基于命名对象打开/保存/关闭文件。我正在寻找一个简单的解决方案,它不涉及“len”功能、解决方法或“暗化”任何其他对象。我想了解为什么“格式”功能不起作用。谢谢!

【问题讨论】:

  • 将 FDFormat 声明为字符串而不是日期。 date 没有格式,因为它是一个数字,显示方式是你想要的。

标签: vba date format


【解决方案1】:

下面我更改了Dim 语句中的文件类型,以反映您打算如何存储数据:

Dim FileYear as Integer
Dim FileMonth as String
Dim FileDate as Date
Dim FDFormat As String

这是基于您的代码:

  • #4/2/2018#←表示Date类型(实际存储的值为43192
  • Format(FileDate, "mm dd yy")Format 函数总是返回一个字符串
  • Year(FileDate)Year 函数返回一个整数
  • Format(FileDate, "mmmm")Format 函数总是返回一个字符串

【讨论】:

    猜你喜欢
    • 2011-09-05
    • 1970-01-01
    • 2017-09-30
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    相关资源
    最近更新 更多