Ich bin jetzt zwar kein VBA Profi, aber ich glaube du machst zuviel innerhalb der Schleife.

*) Das Open gehört auf jeden Fall außerhalb der Schleife
(Cnn.Open strSQL, "Provider=A400;Data Source=192.168.4.100;User ID='ich'; )

*) Muss ActiveWorkbook.RefreshAll innerhalb der Schleife sein?

lg Andreas