The macro is probably doing a whole heap of unnecessary things. Can you
describe a bit more what you are doing and why you need to run a macro. If
you are using the same data source and the values have changed you should be
able to just do a refresh. If you have similar data and want to use the new
data (perhaps a different sheet) then you only need to attach the new source.