Hi all really need some help please. I’m working in 2010 and Im new to writing macros

I have written a macro that is working fine if I manually run it, I have a workbook with 26 sheets, each sheet is querying a different set of data form SQL server tables when the document is opened.
What I want to do is tell the macro not to run until the workbook has finished all its query’s to the SQL and then run. Is there a way I can put something in the code that will allow this to happen?
One thing I have to consider is that the information taken from SQL will constantly be growing and the document will over time take longer to check all of the sheets in the work book.

My start of my code for the macro is below:

Sub Auto_Open()
' Auto_Open Macro
' Defines column widths

Columns("A:A").Select
Range("A5").Activate
Selection.ColumnWidth = 35
Columns("B:B").Select
Range("B5").Activate
Selection.ColumnWidth = 60

Any Help much appreciated

Dom Lee