在VBA中将日期和月份更改为DD和MM格式

时间:2017-10-05 18:33:26

标签: vba excel-vba excel

为了给出一些上下文,我有一个dat文件,我试图在我的Q盘上保存为xlsx。我知道大部分代码都有效(我已对其进行过测试),所以我不想完全改变它,但我在下面解释的格式是我需要帮助的。以下代码位于workbook1中,它引用了workbook2。工作簿一中的单元格D3是一个日期公式,但遗憾的是,FileDay和FileMonth代码只会引入单个" d"或" m"当我想要的是它可以在" dd"和" mm"格式。由于以下代码试图以这种格式查找文件:" yyyy_mm_dd"但FileDay和FileMonth只是拉进去了#34; d"和" m",它只能在一年中的部分时间内工作。为了从单元格D3中获取正确的格式,我缺少什么代码?

Dim FName As String, FPath As String
Dim wkb1 As Workbook, wkb2 As Workbook

Set wkb1 = ThisWorkbook

FileDay = Day(Range("D3"))
FileMonth = Month(Range("D3"))
FileYear = Year(Range("D3"))


FPath = "Q:\MyFolder"
FName = "MyFile_" & FileYear & "_" & FileMonth & "_" & FileDay & ".xlsx"

Set wkb2 = Workbooks("MyFile_" & FileYear & "_" & FileMonth & "_" & FileDay 
& ".dat")
With wkb2
    .SaveAs Filename:=FPath & "\" & FName
    .Close True
End With
End Sub

1 个答案:

答案 0 :(得分:0)

假设这些变量是字符串,请使用Format$函数。

FileDay = Format$(Day(Range("D3")), "00")
FileMonth = Format$(Month(Range("D3")), "00")
FileYear = Format$(Year(Range("D3")), "0000")

或者,一次性完成所有操作:

= Format$(Range("D3"), "YYYY_MM_DD")