Vba 将代码内公式中的MM-DD-YY格式的日期更改为第二天
我使用此代码(作为更大宏的一部分)引用特定日期文件中的单元格。参考文件是使用mm-dd-yy格式保存到共享驱动器的每日备份版本 我想使用VBA代码(使用mm-dd-yy)更改此公式以引用第二天的文件,即将“Vba 将代码内公式中的MM-DD-YY格式的日期更改为第二天,vba,excel,Vba,Excel,我使用此代码(作为更大宏的一部分)引用特定日期文件中的单元格。参考文件是使用mm-dd-yy格式保存到共享驱动器的每日备份版本 我想使用VBA代码(使用mm-dd-yy)更改此公式以引用第二天的文件,即将“05-07-14”更改为“05-08-14”: 下面是一些代码来解析在英国运行的美国日期 Sub TestParseUSDate() Debug.Assert VBA.FormatDateTime(ParseUSDate("05-07-14"), vbLongDate) = "07 M
05-07-14
”更改为“05-08-14
”:
下面是一些代码来解析在英国运行的美国日期
Sub TestParseUSDate()
Debug.Assert VBA.FormatDateTime(ParseUSDate("05-07-14"), vbLongDate) = "07 May 2014"
End Sub
Function ParseUSDate(ByVal sUSADate As String) As Date
Debug.Assert Len(sUSADate) >= 8
Dim lMonth As Long
lMonth = Left$(sUSADate, 2)
Debug.Assert Not (IsNumeric(Mid$(sUSADate, 3, 1)))
Dim lDay As Long
lDay = Mid$(sUSADate, 4, 2)
Debug.Assert Not (IsNumeric(Mid$(sUSADate, 6, 1)))
Dim lYear As Long
lYear = Mid$(sUSADate, 7)
Dim dt As Date
ParseUSDate = VBA.DateTime.DateSerial(lYear, lMonth, lDay)
End Function
除了…我不知道如何结合路径和文件引用来正确设置公式 公式应类似于“=VLOOKUP(RC1,'U:\00_每日报告[“TPV数据文件”\U 2-”和“myname”&.xlsx”]TPV数据拉取'!C1:C88,36,FALSE)” 我现在掌握的代码是:
Dim path As String
Dim file As String
Dim myformula As String
Dim myname As Date
myname = Day(Now() - 1)
path = "U:\00_Daily Reports\"
file = "TPV datafile_2 - " & "myname" & ".xlsx""
myformula = "-------------------------"
Range("CL2").Select
ActiveCell.FormulaR1C1 = myformula
如果您能说服您的组织从数字日期移到dd-mmm-yy,以便始终清楚哪个是月份,这将更容易。美国和英国有不同的惯例(如你所知)。使用dd-mmm-yy可能是一个国际标准,在一个已经确定了一种商业语言的组织中。我需要一天的时间来继续前进。我将代码修改为-
Dim path As String
Dim file As String
Dim myformula As String
Dim myname As Date
myname = Day(Now() - 1)
path = "U:\00_Daily Reports\"
file = "TPV datafile_2 - " & "myname" & ".xlsx""
myformula = "-------------------------"
Range("CL2").Select
ActiveCell.FormulaR1C1 = myformula