我正在尝试在Excel宏中解析VB中的String到日期,如下所示:
Sub report_macro()
Dim nRow As Long
Dim sDueDate As String
Dim dueDate As Date
For nRow = 5 To 65536
If Not Range("A" & nRow).Value = "" Then
sDueDate = Range("G" & nRow).Value
dueDate = Date.ParseExact(sDueDate, "yyyy-MM-dd", System.Globalization.DateTimeFormatInfo.InvariantInfo)
If Range("H" & nRow).Value = 57600 Then
Range("A" & nRow & ":I" & nRow).Select
Selection.Font.Bold = True
With Selection.Interior
.Color = 13551615
End With
End If
Else
Exit For
End If
Next nRow
End Sub
我收到了Sytnax错误:
dueDate = Date.ParseExact(sDueDate, "yyyy-MM-dd", System.Globalization.DateTimeFormatInfo.InvariantInfo)
我做错了什么?
答案 0 :(得分:0)
Date.ParseExact
是一种VB.NET方法。您正在Excel中运行使用VBA而不是VB.NET(Differences)
您最好的选择可能只是将值直接分配给日期变量(Value
属性实际上是变体):
dueDate = Range("G" & nRow).Value
或者,您可以使用CDate
如果您真的想要解析,请查看以下答案:A better CDate for VB6