Seite 1 von 1

Zweites Macro soll erst starten wenn erstes Macro fertig ist

Verfasst: Fr, 12.05.2006 17:06
von euroandi
Hallo,

ich lasse Macros mit Tastaturkombinationen abarbeiten, jetzt habe ich das Problem, daß wenn man zu schnell das zweite Macro drückt das erste nicht vollständig abgearbeitet wird.
Kennt jemand einen Programmierbefehl der das zweite Macro warten läßt bis das erste fertig ist?

Gruß
Andreas

Verfasst: Mi, 31.05.2006 09:03
von suavito
Hallo euroandi,

ich gestehe, daß ich keiner der Experten hier im Forum bin und auch noch nie mit Deinem Problem zu tun hatte - obwohl ich auch fast ausschließlich Makros über Tastaturbefehle starte -, aber mir ist gerade, als ich Dein posting las, etwas eingefallen. Ob das funktioniert und sinnvoll ist, müßtest Du halt ausprobieren:

Wie wäre es, wenn Du eine globale Variable namens makro_at_work (oder wie auch immer Du sie nennen willst) definierst, und zwar als boolean.

Standardmäßig stünde sie auf false, und jedes Makro würde sie nun beim Start auf true setzen und bei Beenden wieder auf false.

Bevor ein Makro das aber tut oder irgendwas sonst, müßte es die Variable checken und im Falle true warten und nach einer Weile wieder checken, ob sie mittlerweile auf false gesetzt ist.

Einmal abfragen am Anfang ist kein Problem. Aber wie würde man das machen, mehrfach abzufragen? In welchen Zeitabständen? Und ab wieviel Versuchen/Zeit würde das Makro abbrechen (diese Option müßte auf jeden Fall enthalten sein)? Das wäre der schwierige Part dieser Lösung.

Du könntest auch nach der Abfrage von makro_at_work und dem Ergebnis true auch einfach nichts machen, aber ob das in Deinem Sinne wäre? Das ist ja dann kein Warten mehr, sondern einfach ein Nichtstarten des zweiten Makros. Zumindest solltest Du dann ein beep ausgeben, damit Du (oder ein anderer user) weiß, daß das zweite Makro im Moment nicht gestartet werden kann.

Wobei ich es andersherum halte: Ich habe einen alten PC und verwende häufig ein umfangreiches Makro und lasse das am Ende beepen, damit ich weiß, daß ich weiterarbeiten kann.

Hilft Dir das oder waren das zu simple Vorschläge?

Verfasst: Mi, 31.05.2006 09:42
von kannenklaus
hallo euroandi

versuch es doch mal so:

Code: Alles auswählen

sub MakrosStarten
call makro1'makro1 für dein erstes makro
wait (120)
call makro2'makro1 für dein erstes makro
end Sub
grüße

klaus

Verfasst: Mi, 31.05.2006 09:54
von suavito
Das wäre aber nur eine Lösung, wenn die beiden Makros immer aufeinander folgen. In diesem Falle läge überhaupt kein Problem vor, weil ja alles brav nacheinander abgearbeitet würde und auch wait wäre überflüssig.

Aber euroandi, wenn ich ihn richtig verstanden habe, geht es doch darum, daß zwei (oder mehr) Makros UNABHÄNGIG voneinander gestartet werden durch Tastenkombinationen und das zweite dann den Ablauf des ersten unterbricht.

Zweites Macro soll erst starten wenn erstes Macro fertig ist

Verfasst: Fr, 16.06.2006 19:01
von euroandi
Hallo zusammen,
ich möchte 30 verschieden Macros in unterschiedlicher Reihenfolge abarbeiten lassen.
Bei Excel ist das kein Problem da Excel die zuschnell gedrückten Tasten in eine Warteschlange packt.

Gruß
Andreas