我正在尝试打开一个名称中带有上个月标题的文件。例如,文件名的格式如下:NAME year Month.xlsx。目前,我可以将其拉到1月,但是当前月份是5月,因此我需要4月。
在下面,我有仅在一月份提起的当前代码。我需要月份的格式为“ mm”。我已经运行了没有FileMonth = Month(Date - 30)
的代码,该代码为我提供了前一个月的数字,但格式为一位数字而不是两位数。 (对于四月文件,它搜索编码为4而不是04)。当前代码的确搜索1月为01。就像我省略-30
一样,它将把May作为05。
Dim Path As String
Dim FileYear As String
Dim FileMonth As String
FileYear = Year(Date - 30)
FileMonth = Format(Month(Date - 30), "mm")
Path = "C:\User\NAME " & FileYear & " " & FileMonth
Workbooks.Open (Path)
唯一的错误是提取了错误的文件。
答案 0 :(得分:1)
编辑: 感谢Tony的注意!代码已更正以反映注释。
使用:
FileMonth = Format(Format(DateAdd("m", -1, Date), "mm"), "00")
使用30天的问题是,并非所有月份都有该金额
您可以简化所有操作:
Dim Path As String
Dim FileDate As String
FileDate = Format(DateAdd("m", -1, Date), "yyyy mm")
Path = "C:\User\NAME " & FileDate
Workbooks.Open (Path)
答案 1 :(得分:1)
使用:
FileMonth = Format((Date - 30), "mm")
谢谢, 哈菲兹