用dateadd来处理,可以加天,也可以加周,用Month函数还可以取到月,

解决方案 »

  1.   

    假定你星期所在的月,是以星期一所在的月为定义的。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
        
    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