下面是代码,尽管如何清除我的错误?从字符串“MM/yyyy”到“Date”类型的转换无效
Public Function AddNextMonthDue(ByRef OldNMD As String, ByRef MonthsToAdd As String) As String
Dim dOldNMD As Date
Dim dNewNMD As Date
Dim sOldNMD As String
If Len(OldNMD) = 4 Then ' MMDD format
sOldNMD = "20" & Right(OldNMD, 2) & Left(OldNMD, 2) & "01"
Else
sOldNMD = OldNMD ' YYYYMMDD format
End If
dOldNMD = CDate(Mid(sOldNMD, 5, 2) & "/1/" & Left(sOldNMD, 4))
dNewNMD = DateAdd(Microsoft.VisualBasic.DateInterval.Month, CShort(MonthsToAdd),dOldNMD)
AddNextMonthDue = Format(CDate(dNewNMD), "MMyy")
End Function
你的错误是什么? – Jay
为什么你将MonthsToAdd作为字符串传递?如果你需要一个Short,那么传入Short。 –