Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
400to404
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
400to404
400to404
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

30 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige