Next Monday Date using VBA Functions

VBA Next Monday

Next Monday Date using Excel VBA Functions Now, DateAdd,Format and WeekDay. We have different methods and ways to find Next Monday date. You can find below three specified macros or procedures to find Next Monday date using VBA functions. i.e Now, DateAdd, WeekDay and Format.

We are trying to find Next Monday date based on current or today’s date. Lets say today’s date is 11th Dec 2018 and weekday is Tuesday then upcoming date of Monday should be 17th Dec 2018 and weekday is Monday. In this tutorial we have explained three methods to find Next Monday date.

Method1: Get Next Monday Date using VBA Functions

Let us see the first method to find Next Monday date.

'Method 1: Next Monday Date using Excel VBA Functions
Sub VBA_Find_Next_Monday_Method1()
    
    Dim dNext_Monday As Date

    dNext_Monday = DateAdd("d", -Weekday(Now) + 9, Now)

    MsgBox "If today's date is '" & Format(Now, "DD MMM YYYY") & "' then" & vbCrLf & _
    " Next Monday Date is : " & Format(dNext_Monday, "DD MMM YYYY"), vbInformation, "Next Monday Date"
    
End Sub

Method2: Get Next Monday Date using VBA Functions

Here is the second method to find Next Monday date.

'Method 2: Next Monday Date using Excel VBA Functions
Sub VBA_Find_Next_Monday_Method2()
    
    'Variable Declaration
    Dim dNext_Monday As Date
    
    dNext_Monday = Now + (9 - Weekday(Now))

    MsgBox "If today's date is '" & Format(Now, "DD MMM YYYY") & "' then" & vbCrLf & _
    " Next Monday Date is : " & Format(dNext_Monday, "DD MMM YYYY"), vbInformation, "Next Monday Date"
    
End Sub

Method3: Get Next Monday Date using VBA Functions

The third method to find Next Monday date.

'Method 3: Next Monday Date using Excel VBA Functions
Sub VBA_Find_Next_Monday_Method3()

    Dim dNext_Monday As Date
     
    dNext_Monday = DateAdd("ww", 1, Now - (Weekday(Now, vbSunday) - 2))
    
    
    MsgBox "If today's date is '" & Format(Now, "DD MMM YYYY") & "' then" & vbCrLf & _
    " Next Monday Date is : " & Format(dNext_Monday, "DD MMM YYYY"), vbInformation, "Next Monday Date"
        
End Sub

Output Screenshot: You can find following output screenshot of above specified macros.
Next Monday Date

Instructions to Run VBA Macro Code or Procedure:

You can refer the following link for the step by step instructions.

Instructions to run VBA Macro Code

Other Useful Resources:

Click on the following links of the useful resources. These helps to learn and gain more knowledge.

VBA Tutorial VBA Functions List VBA Arrays VBA Text Files VBA Tables

VBA Editor Keyboard Shortcut Keys List VBA Interview Questions & Answers Blog

1 thought on “Next Monday Date using VBA Functions”

  1. Hi There,
    The above three methods don’t seem to work if today is Sunday. 9-Weekday(Now)=8 and this will give not next Monday, but 2 Mondays from now.
    Simon

Leave a Comment