Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1200to1204
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
Inhaltsverzeichnis

VBA-schwerwiegender Fehler

VBA-schwerwiegender Fehler
OlliB
Hallo Leute,
ich hab ein Problem hier auf der Arbeit mit einer Excel-Datei, die ich selber damals unter Office 2003 angelegt habe. Beim Starten der Datei wird sofort eine doch recht umfangreiche UF geöffnet und mit Daten befüllt. Unter Office 2003 war das kein Problem. Seit Sommer letzten Jahres haben wir nun die 2007er Version und es tritt folgende Merkwürdigkeit auf:
Die Datei öffnet sich, die UF versucht sich wie gewohnt zu initialisieren und Excel bricht mit einem schwerwiegenden Fehler ab.
Öffne ich die Datei und starte das Makro zur Initialisierung manuell, läuft alles sauber. Hab mittels Debugger und Co. versucht herauszufinden, wann/wo das Problem auftritt..keine Chance.
Das Problem tritt immer nur dann auf, wenn die UF automatisch nach Dateiöffnung ohne "Zwischenpause" sich aufbauen soll. Ich scheine da Excel 2007 mit der UF zu überfordern. Mit einem "Wait-Befehl" klappt es leider auch nicht.
Hat irgendwer eine Idee, woran das liegen könnte bzw. wie ich das Problem lösen könnte (ausser UF manuell starten)?
Viele Grüße
Olli

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA-schwerwiegender Fehler
28.02.2011 13:22:52
Holger,
Hi Olli,
wie holst du denn die Daten aus der UF?
Falls die Ursache des Fehler das Überschneiden von Schritten resp Prozessen ist, hilft die vielleicht diese Function weiter, die den Ablauf des makros solange unterbricht, bis die Aktion bendet ist.
Public Function ShellWait(ByVal Exec As String, _
Optional WindowStyle As VbAppWinStyle = vbMinimizedFocus) _
As Long
Dim nTaskId As Long
Dim nHProcess As Long
Dim nExitCode As Long
Const STILL_ACTIVE = &H103
Const PROCESS_QUERY_INFORMATION = &H400
Application.StatusBar = "SQL Abfrage wird ausgeführt ..."
nTaskId = Shell(Exec, WindowStyle)
nHProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, nTaskId)
Do
DoEvents
GetExitCodeProcess nHProcess, nExitCode
Loop While nExitCode = STILL_ACTIVE
CloseHandle nHProcess
ShellWait = nExitCode
Application.StatusBar = "SQL Abfrage erfolgreich ausgeführt!"
End Function

Anzeige
AW: VBA-schwerwiegender Fehler
28.02.2011 13:46:55
OlliB
Hallo Holger,
danke für den Ansatz, aber die Ursache scheint eher zu sein, dass die UF an sich einfach zu mächtig mit zu vielen Formularfeldern etc. ist. Die Daten selber zieht sich die UF aus der Excel-Datei selber heraus. Kein SQL o. importieren aus anderen Dateien.
Mysteriös ist auch, dass nach manuellem Start des Makros und ordnungsgemäßen initialisieren der UF auch danach bei erneutem Starten einmalig ! alles automatisch klappt. Speicher ich dann die Datei noch einmal und starte sie dann erneut, kommt wieder der schwerwiegende Fehler. Ich befürchte, ich muss die UF entschlacken. Oder hat wer noch eine Idee?
Anzeige
AW: VBA-schwerwiegender Fehler
28.02.2011 14:00:35
Holger,
Hi Olli,
ich hatte auch ein ähnliches Problem mit einer UF. Irgendwie war damals der Aufruf der Prozedur und des Codes nicht in der gewünschten Reihenfolge. So wurde in der UF etwas abgefragt, was gar nicht mehr da war. Das fällt im F8 Modus nicht auf, weil es da ja wesentlich langsam geht.
Entschlacken ist aber immer gut, sorry, dass ich nicht helfen kann.
AW: VBA-schwerwiegender Fehler
28.02.2011 23:42:45
Gerd
Hallo Olli!
Wie sieht der Code des Userform_Initialze aus ?
Gruß Gerd

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige