There isn't anything particuarly in the sheet. I was thinking that there could be maybe some sort of VBA timestamp function which could determine this. i.e. the date the macro is run is recorded and then every 28 days after that.Isn't there some way of determining that it has already been run for the current month? You can exit the procedure if that condition is true?
ThanksYou could store the date it's run in a spare cell somewhere and deduct from today's date. If the difference is less than 28 days exit the sub, otherwise run the macro and update the date run.
Me.Refresh_Graph_Data.Enabled = False
Worksheets("Sheet 1").OLEObjects("Refresh_Graph_Data").Object.Enabled = True