I am assuming you mean that during working hours on work days you want to update a spreadsheet every 30 minutes changing some formatting.
where is the spreadsheet held, on th esame PC that runs the macro?
VBA cannot run assynchroneously, ie if a macro runs, then no other excel operation can be done. This includes timer events or wait events.
So there are a few options:
1)The spreadsheet is held on a file server, and a PC runs the excel macro which opens the file on the server every half hour and updates it as required, then closes the file again for other users (or processes) to use.
Disadvantage - if someone else has the file open at that point the update won't happen. And no other excel activity can be run on this PC
2) you create a spreadsheet with the macro to update the main sheet. Then you create a task under Control Panel / Services / Task Scheduler with the name of your spreadsheet (with path) to run every half hour.
The macro should update the formatting as required and then close itself.