Excel VBA Marco ausführen nach Zelleneingabe oder 1. Makro

Allan Sche Sar

Lt. Commander
Registriert
Jan. 2004
Beiträge
1.973
Ihr kennt bestimmt das mit dem Wald und den vielen Bäumen ;)
Für dein Excel VBA Projekt, welches in Rahmen eines Rennen geschrieben wird, wenn eine neue Runde absolviert ist, soll folgende Tabelle geschrieben werden:


RundeRundenzeitVerbrauchPlatzierung
12:15xxxyyy
22:18xyzzzz

Dazu habe ich bereits ein Marko, welches die Runde, Rundenzeit automatisch ausfüllt, wenn das Marko ausgeführt wird. Danach springt der Cursor in die nächste Spalte (Verbrauch) und ich gebe händisch diesen ein.
Das ist der Status Quo.

Die Änderung würde den roten Bereich betreffen. Wenn ich dann in die vierte Spalte (Platzierung) gehe und dort die nächste Zahl mit Enter eingebe, sollte ein weiteres Marko (bereits vorhanden) ausgeführt werden. Dieses ist notwendig, um Daten für einen Stream herauszuschreiben.

Wie stelle ich es an, dass das zweite Marko ausgeführt wird? Im Kopf habe ich folgende Optionen. Nur weiss ich nicht, wie ich es anstellen würde.
  1. Von Verbrauch mit Tab in die nächste Zelle gehe und die Platzierung mit Enter bestätige. Danach soll das zweite Makro ausgeführt werden
  2. Das zweite Marko nach 15 Sekunden ausgeführt ist, wenn Makro 1 ausgeführt wurde.

Könnt ihr mir weiterhelfen?
 
1. Eine Moeglichkeit ist das Makro ueber Worksheet.Change auszufuehren wenn eine Zelle der Platzierung Spalte geaendert wird.
2. Du kannst mit Application.OnTime einen Timer fuer 15 Sekunden setzen bevor das andere Makro ausgefuehrt werden soll (gegenueber Application.Wait bleibt Excel bei OnTime waehrend der Wartezeit bedienbar).
Die erste Methode hat den Vorteil dass keine kuenstlichen Wartezeiten auftreten sondern der Stream ohne Verzoegerung geschrieben wird wenn alle Daten eingegeben wurden.
 
Zuletzt bearbeitet:
Zurück
Oben