Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro mehrmals ausführen
#1
Guten Tag an alle,

Ich habe folgendes Problem und ich hoffe ihr könnt mir weiterhelfen.

Folgenden Button habe ich erstellt :

Sub Schaltfläche1_Klicken()
ActiveWorkbook.RefreshAll
For Each qt In ActiveSheet.QueryTables
qt.Refresh (BackgroundQuery)
Next
End Sub


Dieser funktioniert auch soweit.

Ich habe aber festgestellt, dadurch dass ich mit Pivot Tabellen arbeite und in meiner Arbeitsmappe Daten aus anderen Excel Dateien abgefragt werden ich 2x den Button betätigen muss, Heisst also das Makro 2x durchführen muss bis die aktuellen Werte in meinen Tabellen angezeigt werden.

Wie kann ich jetzt in meine oben genannt Programmierung einfach eine schleife einbauen dass diese 2x durchgeführt wird. Ich den Button also nur 1x drücke und dadurch 2x die Aktualisierung abgearbeitet wird.

Habe mich durch mehre Foren gewühlt und das was ich dazu gefunden habe hat mir leider nicht weiter geholfen oder nicht funktioniert.
Ich bin jetzt auch nicht wirklich sehr bewandert was VBA angeht.

Vielen dank für eure Hilfe im voraus.

MFG
Antworten Top
#2
Hallo,

vielleicht auch so?

Code:
Sub Schaltfläche1_Klicken()
  Dim qt As QueryTable
  For Each qt In ActiveSheet.QueryTables
    qt.Refresh
  Next qt
  ActiveWorkbook.RefreshAll
End Sub

Gruß Uwe
Antworten Top
#3
Falls Uwes Tipp nicht reichen sollte, dann so?
Code:
Sub Schaltfläche1_Klicken()
Dim i as Integer, qt As QueryTable

For i = 1 To 2
    ActiveWorkbook.RefreshAll
    For Each qt In ActiveSheet.QueryTables
        qt.Refresh (BackgroundQuery)
    Next qt
Next i
End Sub
Schöne Grüße
Berni
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste