Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
436to440
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro läuft im Einzelschritt richtig, sonst falsch

Makro läuft im Einzelschritt richtig, sonst falsch
08.06.2004 10:48:07
Peter
Hallo zusammen,
hier ist ein kleiner Ausschnitt aus meinem Code:
i = 1
For i = 1 To anzSys
If i = 1 Then
anzApps = 0
Else
anzApps = Application.WorksheetFunction.CountA(shApps.Range("A:A"))
End If
ziel = shApps.Cells(anzApps + 1, 1).Address
With shApps.QueryTables.Add(Connection:= _
"ODBC;DSN=...., Destination:=shApps.Range(ziel))
...
If i = 1 Then
.FieldNames = True
Else
.FieldNames = False
End If
anzSys ist vorher ermittelt, es handelt sich um eine Anzahl von Systemen, zu denen zugehörige Applikationen aus einer Datenbank abgefragt werden. Das Arbeitsblatt shApps wird vorher neu erstellt und ist leer. Demzufolge beginnt das erste Abfrageergebnis in $A$1. Bei dem 2. System (i=2) wird gezählt, wie viele Zeilen schon gefüllt sind (CountA) und die nächste Abfrage darunter plaziert.
Der Fehler, der nur beim normalen Durchlauf auftritt, nicht aber, wenn ich das Ganze im Einzelschrittmodus teste: die 2. Abfrage wird nicht unter die 1. plaziert, sondern daneben und zwar in Zeile 2, Zeile 1 bleibt leer, weil ab dem 2. Mal die Feldnamen nicht mehr ausgegeben werden.
Im Einzelschritt sieht alles so aus, wie ich es haben möchte, Überschrift in der ersten Zeile und alle Abfragen darunter.
Irgendwie habe ich einen Blackout und finde den Fehler nicht, also schon mal Danke für jeden Hinweis.
Gruß
Peter

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro läuft im Einzelschritt richtig, sonst falsch
08.06.2004 18:28:29
andre
Hallo Peter,
ich hatte auch oft so gelagerte Phänomene. Anscheinend versucht Excel, sich hier selbst zu überholen - oder etwas fundierter - die Berechnungsreihenfolge ist nicht immer auf den ersten Blick nachvollziehbar.
Experimentiere mal mit einer Wartezeit, da reicht schon eine Sekunde. Wo genau die hin muß - probieren ...
AW: Wartezeit hilft scheinbar nicht
09.06.2004 10:16:27
Peter
Hallo Andre,
deine Diagnose habe ich auch so ähnlich gesehen. Es muss wohl so sein, dass irgendwas zu
schnell geht. Wenn ich es bis zu einem Haltepunkt nach CountA automatisch laufen lasse, sieht man, dass nicht richtig gezählt wird.
Leider hat der Einbau einer Wartezeit an den verschiedensten Stellen mit Zeiten von 1 bis 4 Sekunden auch nicht geholfen.
Vielen Dank erstmal für deine Antwort.
Hat jemand aus der Gemeinde noch eine andere Idee?
Gruß
Peter
Anzeige
AW: Wartezeit hilft scheinbar nicht
10.06.2004 22:07:38
andre
Hallo Peter,
da es noch keine neuen Antworten gibt bin ich's noch mal. Bei mir kam zum Beispiel bei bestimmten Berechnungen der Dr. Watson. Mal einfach gesagt wollte ich aus einem Datenbestand ein Histogramm auszählen. Die Daten kamen aus einer Datenbank. Der Fehler kam unabhängig von der Datenmenge, jedoch immer bei dem gleichen Datenbestand. Fehler im Bestand waren keine. Die Stelle für die Wartezeit habe ich durch mühsamstes testen des code mit einer Unterbrechung (F9) gefunden. Ich habe erst aufgepasst, wie weit die Berechnung kam - dazu mal das Updatescreen auf True gelassen, dann F9 gesetzt und den code automatisch bis dahin laufen gelassen, wenns lief ein Stück weiter hinter gesetzt, wenn der Fehler kam wieder ein paar Zeilen vor und irgendwann hatte ich's. Nenbei hab ich dann noch den code optimiert, aber das hatte nichts mit dem Fehler zu tun - ohne die Wartezeit ging's trotzdem nicht ...
Grüße, Andre
Anzeige
AW: Wartezeit hilft scheinbar nicht
11.06.2004 10:05:40
Peter
Hallo Andre,
ja, so habe ich auch getestet. Hat aber trotzdem nichts genützt. Da ich im Moment noch
andere Projekte habe und dieses nicht ganz so eilig ist, schaue ich mal, ob noch was anderes kommt. Ansonsten müsste ich mir eine andere Methode überlegen.
Gruß
Peter
AW: Wartezeit hilft scheinbar nicht
11.06.2004 10:30:41
Andrea
Kann es vieleicht an sich überschneidenden Variablen liegen???
Ich hatte auch schon ähnliches! Meine Lösung war, dass ich die einzelnen funktionsfähigen Schritte in einzelne Makros getan habe und ein Übergreifendes Makro geschrieben habe, welches die einzelnen Makros ausführt.
Makro 1: Schritt 1
Makro 2: Schritt 2
Makro 3: Schritt 3
Makro 4: Führe Makro 1-3 aus
Hoffe das hilft euch!!!
LG Andrea
Anzeige
AW: Wartezeit hilft scheinbar nicht
11.06.2004 11:08:04
Peter
Hallo Andrea,
nur ein kurzes Feedback, weil ich deinen Vorschlag jetzt nicht in Ruhe ausprobieren
kann. Ich hab' nur mal kurz den verdächtigen Teil meines Codes in eine Function ausgelagert (bietet sich hier eher an als Sub, wegen Rückgabewert), hat leider noch nichts genützt. Kann aber sein, dass bei anderer Struktur doch noch was rauskommt.
Das kann ich aber frühestens Montag mal wieder angehen.
Danke, Gruß und schönes Wochenende
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige