This works but I am open to simpler suggestions Dim TheDate As Date ' Declare variables. Dim Msg Dim hey Dim Ms Dim instal Dim instmon Dim mon TheDate = Date Msg = DatePart("m", TheDate) ' Msg now equals the number current month number dayDate = Date Ms = DatePart("d", dayDate) 'Ms now equals the current day number If Ms >= 8 Then Msg = Msg + 1 End If instal = 15 & "th " If Msg = 1 Then mon = "January" End If If Msg = 2 Then mon = "February" End If If Msg = 3 Then mon = "March" End If If Msg = 4 Then mon = "April" End If If Msg = 5 Then mon = "May" End If If Msg = 6 Then mon = "June" End If If Msg = 7 Then mon = "July" End If If Msg = 8 Then mon = "August" End If If Msg = 9 Then mon = "September" End If If Msg = 10 Then mon = "October" End If If Msg = 11 Then mon = "November" End If If Msg = 12 Then mon = "December" End If ActiveSheet.Cells(87, 3).Value = instal & mon ActiveSheet.Cells(87, 4).Value = "monthly" ActiveSheet.Cells(88, 3).Value = "15-03-02" Else If freq = "weekly" Then ActiveSheet.Cells(31, 2).Value = (ActiveSheet.Cells(29, 8).Value) / (fred + 1) ActiveSheet.Cells(31, 1).Value = (("Less " & fred + 1) & " payments @") ActiveSheet.Cells(31, 8).Value = (ActiveSheet.Cells(31, 2).Value) * (fred + 1) Dim i As Integer Dim datTemp As Date For i = 1 To 7 datTemp = DateAdd("d", i, Date) If Weekday(datTemp) = vbMonday Then ActiveSheet.Cells(87, 3).Value = datTemp ActiveSheet.Cells(87, 4).Value = "weekly" ActiveSheet.Cells(88, 3).Value = "25-03-02" 'MsgBox "Next Monday will be " & datTemp End If Next