簡體   English   中英

將函數轉換為子例程excel vba

[英]convert function to a sub routine excel vba

我有一個類似下面的函數,我需要將其轉換為子例程,或者有什么方法可以從子例程內部調用此函數?

'function to calculate nth specific last day of a month like  last saturday or last monday   

Function LastDayOfMonth(Which_Day As String, Which_Date As String) As Date

    Dim i As Integer
    Dim iDay As Integer
    Dim iDaysInMonth As Integer
    Dim FullDateNew As Date

    Which_Date = CDate(Which_Date)

    Select Case UCase(Which_Day)
        Case "SUN"
            iDay = 1
        Case "MON"
            iDay = 2
        Case "TUE"
            iDay = 3
        Case "WED"
            iDay = 4
        Case "THU"
            iDay = 5
        Case "FRI"
            iDay = 6
        Case "SAT"
            iDay = 7
    End Select

    iDaysInMonth = Day(DateAdd("d", -1,DateSerial(Year(Which_Date),Month(Which_Date)+ 1, 1))) 
    FullDateNew = DateSerial(Year(Which_Date), Month(Which_Date), iDaysInMonth)

    For i = 0 To iDaysInMonth
        If Weekday(FullDateNew - i) = iDay Then
           LastDayOfMonth = FullDateNew - i
          Exit For
       End If
    Next i
End Function
sub callit()
    Dim d as Date
    d = LastDayOfMonth(...)
end sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM