【问题标题】:VBA Excel Date ReformattingVBA Excel日期重新格式化
【发布时间】:2019-07-29 14:56:31
【问题描述】:

我正在编写一个 vba 代码来将两个 excel 工作簿拉到一个工作簿中。工作簿 1 来自上一个工作日,工作簿 2 是第二个最上一个工作日。例如,在星期一,我会将星期五和星期四的工作簿数据提取到单独的工作簿中。工作簿命名为“results 07.26.2019”,因此日期格式为 mm.dd.yyyy。当我尝试按 mm.dd.yyyy 格式化我的日期时。它要么会忽略我的格式,要么会产生错误。我尝试过像这样定义我的日期:

Dim dDate As Date
dDate = Date
dDate = Format(dDate, "mm.dd.yyyy") 

默认格式是“mm/dd/yyyy”,是否有技巧/代码可以让我自定义日期格式?

谢谢

【问题讨论】:

  • Format 返回一个Variant/String,因此您不应将其结果分配给dDate。您尝试使用格式化日期的其余代码是什么?
  • 感谢您的快速回复,只是想澄清一下,所以我不应该使用格式功能吗?
  • 查看发布的答案。如果你愿意,你可以完全摆脱dDate,只在Format中使用Date

标签: excel vba


【解决方案1】:

Format 返回一个字符串,因此试图将格式化的日期字符串捕获回一个键入为日期的变量中是行不通的,或者如果这样做了,您最终会得到您开始的内容。

声明一个像

这样的新变量
Dim sDate as String

然后将Format 的返回值设置为您的日期变量的字符串版本

sDate = Format(dDate, "mm.dd.yyyy")

【讨论】:

    猜你喜欢
    • 2013-11-17
    • 2015-08-31
    • 2018-07-31
    • 1970-01-01
    • 2012-06-22
    • 2018-10-27
    • 1970-01-01
    • 2014-12-23
    • 1970-01-01
    相关资源
    最近更新 更多