假定你星期所在的月,是以星期一所在的月为定义的。Dim tmp As Date, result As Date Dim strData As String, strItem() As String Dim my_year As Integer, my_month As Integer, my_day As IntegerstrData = "4 15 A" strItem = Split(strData, " ")my_year = Val("201" & strItem(0)) If strItem(2) < "9" Then my_day = Val(strItem(2)) Else my_day = Asc(UCase(strItem(2))) - 55 End If
Dim strData As String, strItem() As String
Dim my_year As Integer, my_month As Integer, my_day As IntegerstrData = "4 15 A"
strItem = Split(strData, " ")my_year = Val("201" & strItem(0))
If strItem(2) < "9" Then
my_day = Val(strItem(2))
Else
my_day = Asc(UCase(strItem(2))) - 55
End If
tmp = DateAdd("ww", Val(strItem(1)), my_year & "-1-1")
tmp = tmp - Weekday(tmp, vbTuesday)my_month = Month(tmp)result = DateSerial(my_year, my_month, my_day)MsgBox result