Registriert seit: 07.10.2021
Version(en): 2016
Hallo zusammen,
ich habe eine Abfrage, die sich automatisch beim Start der Excel-Datei aktualisiert. Das funktioniert auch einwandfrei.
In der Tabelle (Import) ist gleichzeitig folgendes Makro hinterlegt:
Code:
Public Sub Worksheet_Activate()
Call Kuerzel_Vorname
End Sub
Das Makro wird nicht ausgeführt bzw. die Aktualisierung überschreibt das Ergebnis, weil zuerst das Makro ausgeführt wird und dann die Aktualisierung erfolgt.
Was müsste ich ändern, damit erst die Aktualisierung erfolgt und im Anschluss das Makro ausgeführt wird?
Ich hoffe ich konnte mein Anliegen darstellen
VG
Rudi
Registriert seit: 25.11.2021
Version(en): 2019, 365
26.04.2022, 14:05
(Dieser Beitrag wurde zuletzt bearbeitet: 26.04.2022, 14:06 von Ralf A.)
Hi,
wenn Du Call für den Aufruf einer Sub verwendest, musst Du die Klammern ans Ende vom Aufruf setzen:
Code:
Call Kuerzel_Vorname()
oder Call weglassen, dann können auch die Klammern wegbleiben. Es sei denn,
Kuerzel_Vorname ist eine Funktion... (scheint aber nicht der Fall zu sein)
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.
Ciao, Ralf
Registriert seit: 07.10.2021
Version(en): 2016
Hallo Ralf,
ich habe einmal alle Varianten eingestellt die Du vorgeschlagen hast. Bei allen bleibt das Problem bestehen. Die Abfrage wird nach dem Makro aktualisiert.
VG
Rudi
Registriert seit: 25.11.2021
Version(en): 2019, 365
26.04.2022, 15:40
(Dieser Beitrag wurde zuletzt bearbeitet: 26.04.2022, 15:42 von Ralf A.)
...grins...
Zitat:Das Makro wird nicht ausgeführt bzw. die Aktualisierung überschreibt das Ergebnis, weil zuerst das Makro ausgeführt wird und dann die Aktualisierung erfolgt.
...das ist ja auch eine wirklich supergeniale Problembeschreibung! Übersetzt ungefähr so: Makro wird nicht ausgeführt, weil das Makro das Ergebnis vom Makro überschreibt... :D
Nur leider kennt kein Mensch die beteiligten Makros (bis auf das eine).
Vorschlag: Setze den Cursor irgendwo in die Private Sub Workbook_Activate() und Klicke solange auf F8, bis Dir ein Fehler auffällt. Das könnte z. Bsp. sein, dass Du irgendein Ereignis aufrufst, von dem Du nicht ahntest, dass es ausgelöst wird,
oder eine Subroutine... ;)
Hier kann Dir, ohne Kenntnis des Codes, keiner helfen. Den Ablauf und die Aufrufreihenfolge kennst nur Du...
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.
Ciao, Ralf
Registriert seit: 12.06.2020
Version(en): 2024, 365business
Du könnest die Abfrage per VBA starten. Dazu mußt du nur die automatische Aktualisierung der Abfrage abschalten.
https://www.ms-office-forum.net/forum/sh...p?t=373481