This bit:
reminder_days(i) = 5 + 5 * i
is what defines the days that should be used, if you want a more generalised code:
Sub macro_1()
Dim reminder_days As Variant
Dim col As Integer
Dim i As Integer
reminder_days = Array(2, 10, 22, 28)
For i = LBound(reminder_days) To UBound(reminder_days)
Do Until WorksheetFunction.CountIf(Range("G:G"), DateValue(Month(Now) & "/" & reminder_days(i) & "/" & Year(Now))) = 0 _
And WorksheetFunction.Weekday(DateValue(Month(Now) & "/" & reminder_days(i) & "/" & Year(Now)), 2) < 6
reminder_days(i) = reminder_days(i) - 1
Loop
Next i
On Error Resume Next
col = WorksheetFunction.Match(Day(Now), reminder_days, 0)
MsgBox Join(WorksheetFunction.Transpose(Sheets("Sheet2").Range(Cells(1, col), Cells(10, col)).Value), Chr$(10))
End Sub
then you can change the numbers within the array function as neccessary.
Bookmarks