Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Abfrageaktualisierung bei 'Worksheet_Activate'

Forumthread: Abfrageaktualisierung bei 'Worksheet_Activate'

Abfrageaktualisierung bei 'Worksheet_Activate'
Wolfgang
Schönen guten Tag zusammen,
kleines Problemchen: Wenn ich ein Tabellenblatt (Tabelle1) aufrufe, soll automatisch eine Routine starten und Werte aus Tabelle2 aufsummiert darstellen. Mit
'Sub Worksheet_Activate()'
ist das ja auch kein Problem. Allerdings befinden sich in Tabelle2 Werte aus einer ACCESS-Abfrage, die ich gerne vor dem Aufsummieren aktualisieren will. Wie kann ich das machen? Wechsel aus der Routine in das betreffende Tabellenblatt und Rücksprung würde das Makro nach Abarbeitung nämlich nochmals aufrufen. Warum das Makro zuvor komplett abgearbeitet wird und nicht direkt wieder neu aufgerufen wird, ist mir zwar schleierhaft – hängt wahrscheinlich mit dem sequentiellen Abarbeiten der Routinen zusammen. Aber darum geht's ja auch nicht.
Wie kann ich die Abfrage aktualisieren, ohne das Tabellenblatt wechseln zu müssen? Und warum bekomme ich bei dem Befehl 'RefreshAll' bzw. 'Refresh' die Laufzeit-Fehlermeldung "Sub oder Function nicht definiert"?
Bin für jede Lösung dankbar und wünsch allen noch 'n schönes Wochenende.
Viele Grüße, Wolfgang
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Abfrageaktualisierung bei 'Worksheet_Activate'
Conehead
Hi Wolfgang,
vielleicht hilft Dir meine Lösung weiter, ich geh mal davon aus, dass Du Tabelle2 nicht unbedingt schneller als alle 5 sek. aktualisiert haben willst...
&ltpre&gt
Private Sub Worksheet_Activate() 'Sub für Tabelle1
If (Timer() - zeit) &gt 5 Then '5-Sekunden-Zeitspanne festlegen
Worksheets("Tabelle2").Activate
MsgBox "Abfrage ausführen" 'Hier kannst Du die Abfrage ausführen
Worksheets("Tabelle1").Activate
End If
Worksheets("Tabelle1").Range("B:B").Value = _
Worksheets("tabelle2").Range("B:B").Value
End Sub&lt/pre&gt
&ltpre&gt
Private Sub Worksheet_Activate() 'Sub für Tabelle2
zeit = Timer()
End Sub&lt/pre&gt
zeit als public definieren
Gruß Andreas
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige