Hallo,
(wie) kann ich, ein Makro nur ausführen, wenn eine bestimmte Zelle ( in meinem Fall "AK16" ) aktualisiert wird, das Makro ausgeführt wird.
Danke vorab!
Hi,
versuch mal in dem Worksheet 'Change' folgenden Code
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("AK16")) Is Nothing Then Call 'Hier den Name deines Makro
End Sub
Hm kann ich so leider nicht bestätigen, da sich das gesamte Makro weiterhin bei jeder Änderung aktuallisiert/abläuft
Hallo
und was genau ist dann anders?? Wie und wodurch äußert sich die Änderung??
Ohne möglichst genaue Infos können wir nicht nachvollziehen was da anders ist.
Vielleicht kannst du uns ja dein Makro hochladne, damit wir verstehen was sich ändert..
mfg Gast 123
Hallo a...,
zu
Zitat:Hm kann ich so leider nicht bestätigen, da sich das gesamte Makro weiterhin bei jeder Änderung aktuallisiert/abläuft
Der Vorschlag von JKH ist ein (
wahrscheinlich zusätzliches) Ereignismakro, in dem dein Makro nur durchgeführt wird wenn in AK16 eine Änderung gemacht wurde. Du must deinen alten Prozess das Makro anzustossen natürlich entfernen.
Mir wird anhand eines Makros ein QR-Code aus vielen Kriterien erstellt, mich nervt es, dass dies jedesmal neu generiert wird (eigentlich nervt mich immer nur die 2-3 Sekunden Ladezeit) wenn ich nur einen Wert anpasse, mir reicht es, wenn ich einen bestimmten Wert ändere (einer der letzten) und erst dann der QR-Code neu generiert wird.
Hi,
im worksheet_change als erste Anweisung:
Code:
If intersect(target, Range("AK16") is nothing then exit sub
Moin,
ich würde Edgar's Empfehlung etwas abändern und generell von Exit Sub abraten. Besser ist m. E. einfach ein leerer Else-Zweig. Das hilft dabei, den Coder erweiterbar zu gestalten und vermeidet die nervenaufreibende Fehlersuche, die nur an einem übersehen Exit hängt.
Viele Grüße
derHöpp
(13.10.2023, 10:14)BoskoBiati schrieb: [ -> ]Hi,
im worksheet_change als erste Anweisung:
Code:
If intersect(target, Range("AK16") is nothing then exit sub
Dann gilt es aber wiederum für jedes Makro bzw. alles, ich möchte nur ein bestimmtes Makro ausführen, wenn eine bestimmte Zelle aktualisiert wird.
(13.10.2023, 10:23)derHoepp schrieb: [ -> ]Moin,
ich würde Edgar's Empfehlung etwas abändern und generell von Exit Sub abraten. Besser ist m. E. einfach ein leerer Else-Zweig. Das hilft dabei, den Coder erweiterbar zu gestalten und vermeidet die nervenaufreibende Fehlersuche, die nur an einem übersehen Exit hängt.
Viele Grüße
derHöpp
Hm, damit kann ich leider gar nichts anfangen >.<
Hallo derHoepp,
ich halte es für deutlich sinnvoller, ein Makro sofort zu verlassen, wenn die aktive Zelle nicht im Bereich liegt, als das ganze Makro zu durchlaufen.
@andre,
Zitat:kann ich, ein Makro nur ausführen, wenn eine bestimmte Zelle ( in meinem Fall "AK16" ) aktualisiert wird
das geht eben nur über worksheet_change oder ähnliche Typen.
Mit meiner Zeile wird das Makro nicht weiter ausgeführt.