VBA Laufzeitprobleme

24/08/2007 - 16:02 von Robert Jakob | Report spam
Hallo zusammen,

fast alles organisiere ich mit VBA innerhalb von Exceltabellen
und von Fall zu Fall gibt es schon mal Laufzeitprobleme.

Laufzeitprobleme will z.B. heißen,
ich schreibe mit VBA zeilenweise Werte unter bestimmten Bedingungen
in Spalten. Diese Werte sind dann aber gleichzeitig Basis für die
weitere Verarbeitung. Nun kann es da schon mal vorkommen, daß die
errechneten Werte der Spalte F schneller hingeschrieben werden als
die Werte der Spalte E, die aber Bedingung für den Wert in Spalte F
sein kann.

VBA arbeitet die Befehle also nicht wie angeordnet zeilenweise
ab, sondern überspringt schon mal eine Zeile und hinkt dann also
hinterher.

Ich behelfe mir dann meistens damit, daß ich bestimmte Werte in
der ersten Sub Prozedur laufen lasse und dann am Ende dieser
Prozedur eine 2. Sub Prozedur mit Call als NachfolgeSub aufrufe.

Damit umgehe ich dann die Laufzeitprobleme, denn wenn die 2.Prozedur
ausgerufen wird, dann sind die Kriterien ja schon von der 1.Prozedur
in die Spalten geschrieben und die 2 Prozedur hat die fertigen
Kriterien zur Entscheidung und Endauswertung.

Meine Frage nun, kann ist das irgendwie in einer Prozedur erledigen ?

Welche Möglichkeiten, die ich noch nicht kenne gibt es da ?

Wait möchte ich eigentlich nicht nehmen, denn das ist mir zu unsicher weil
man ja nicht genau abschàtzen kann wieviele Sekunden Wait abwarten muß bis
der vorherige Befehl fertig abgeackert ist.

Wer weiß was ?

MfG
Robert
 

Lesen sie die antworten

#1 Alexander Wolff
24/08/2007 - 17:26 | Warnen spam
Die Tastatur von Robert Jakob wurde wie folgt gedrückt:
fast alles organisiere ich mit VBA innerhalb von Exceltabellen
und von Fall zu Fall gibt es schon mal Laufzeitprobleme.

Laufzeitprobleme will z.B. heißen,
ich schreibe mit VBA zeilenweise Werte unter bestimmten Bedingungen
in Spalten. Diese Werte sind dann aber gleichzeitig Basis für die
weitere Verarbeitung. Nun kann es da schon mal vorkommen, daß die
errechneten Werte der Spalte F schneller hingeschrieben werden als
die Werte der Spalte E, die aber Bedingung für den Wert in Spalte F
sein kann.

VBA arbeitet die Befehle also nicht wie angeordnet zeilenweise
ab, sondern überspringt schon mal eine Zeile und hinkt dann also
hinterher.



Hm, im Absatz darüber meintest Du "spaltenweise", oder nicht?

- Falls F stets von E abhàngt, solltest Du E zuerst füllen
und danach erst mit F beginnen.
- Falls F eine Tabellenformel enthàlt, könntest Du vorsichtshalber
nach dem Schreiben berechnen lassen.
- Ergibt sich spàteres E und F schon vorher innerhalb von VBA, kann
aufgrund sequentieller Verarbeitung eigentlich nur die prozedurale
Abfolge gelten. Ausnahme denkbar mit: Vista+2007+Mehrprozessorsystem!
Dort müsste es dann einen Schalter für sequentielle Verarbeitung geben.

Moin+Gruss Alexander - MVP for MS Excel - www.xxcl.de - mso2000sp3 --7-2

Ähnliche fragen