格式化日期存储为对象为" mm dd yy"在VBA中使用格式化功能

时间:2018-04-12 15:47:34

标签: vba date format

出于某种原因我的对象" 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"功能,变通方法,或“调暗”任何其他对象。我想了解为什么"格式"功能不起作用。谢谢!

1 个答案:

答案 0 :(得分: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函数始终返回一个字符串