Excel VBA 正确函数错误

Excel VBA 正确函数错误

我正在尝试根据从文本数据库下载的数据的日期范围自动更新 Excel 中报告顶部的日期范围。在下面列出的宏中,我收到运行时错误“13”:类型不匹配PEndDt = Right(PaidDateRange, 8)

我认为 Date 变量 PEndDt 不喜欢获取字符串。但我已在其他宏中将字符串分配给 Date 变量!我不知道如何修复此问题。请帮忙。

Sub test()

Dim PEndDt As Date
Dim PaidDateRange As String

PaidDateRange = "PAID DATE  1/01/13 -  9/31/13"
PEndDt = Right(PaidDateRange, 8)
Range("A1") = "Report thru " & Format(PEndDt, "Long Date")

End Sub

答案1

问题出在字符串上。

9/31/13 不是有效日期。

2013 年 9 月 31 日也不是有效日期。

答案2

您必须将字符串解析为月、日、年格式

Dim itemDate as String
itemDate = Right(PaidDateRange, 8)

PEndDt = DateSerial(Right(itemDate, 2), Left(itemDate, 2), Mid(itemDate, 4, 2))

如果您只是将其放回字符串,为什么要转换为日期?

Range("A1") = "Report thru " & Right(PaidDateRange, 8)

相关内容