Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1048to1052
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

Fehler beim UserForm-Aufruf

Fehler beim UserForm-Aufruf
17.02.2009 10:26:00
tco99
Hallo zusammen,
hier nochmal mein Problem und die Datei, die die Probleme hat.
Meine Arbeitsmappe hat einige Tabellenblätter und eine (Haupt-)Userform (und drei kleinere). Bereits beim Start wird die Userform aufgerufen. Beim Initialisieren der Userform werden Zellen eines Tabellenblattes ausgelesen und in die Textboxen, ComboBoxen und Checkboxen übernommen. Mit einer Schaltfläche werden später die bearbeiteten Werte wieder in die Zellen zurückgeschrieben. Das funktioniert bis dahin gut. Eine weitere Schaltfläche führt ebenfalls das Zurückschreiben aus, entlädt die Userform schließt die Datei mit Veränderungen.
Beim nächsten Start der Datei wird die Userform wieder aufgerufen.
Das Problem: wenn man einmal gespeichert hat, die Datei schließt und dann neu öffnet, wird die Userform nicht mehr aufgerufen, sondern es erscheint die Fehlermeldung "Excel hat ein Problem festgestellt und muss beendet werden.
Ich habe es damit versucht, sowohl den Aufruf der Userform, als auch das Entladen der Userform und Schließen der Datei mit Speicherung in ein allgemeines Modul auszulagern. Ich habe mit ShowModal experimentiert, als auch mit ApplicationWait beim Aufrufen der Userform und Schließen der Datei. Leider hat nichts geholfen.
Der Fehler tritt dann auf, wenn die Schaltfläche "Speichern und Schließen" betätigt wird. Irgendwas geht dann schief, wenn die Daten bzw. Veränderungen zurückgeschrieben werden, die Userform entladen und die Datei gespeichert geschlossen wird.
Hier ist die Datei (gezippt):
https://www.herber.de/bbs/user/59528.zip
Weiß jemand, woran es liegen könnte?
Gruß
Erdogan

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler beim UserForm-Aufruf
17.02.2009 22:32:00
fcs
Hallo Erdogan,
ich hab jetzt nicht probiert ob es daran liegt. Auf jeden Fall gigt es eine problematische Zeile in einer Prozedur. Die Sprungadresse für die Fehlerbehandlung leigt mit in einer Case Anweisung - nicht so gut!
Gruß
Franz

Sub DateiMitVorgabeSpeichern()
'Wenn sich Fehler ergeben, gehe zu "Fehlerbehandlung"
On Error GoTo Fehlerbehandlung
'Speichert Datei unter der Vorgabe des Dateinamens
Dim datName As String
Dim extName As String
Dim ergName As String
Dim Frage
'Dateiname aus A1 bis A3 beziehen
With Worksheets("Daten")
If .[B5]  vbNullString Then
datName = .[B7] & "_Rev." & .[B6] & "_" & .[B5]
Else
Exit Sub
End If
End With
extName = ".xls"
ergName = Application.GetSaveAsFilename(datName & extName, , , _
"Kalkulationsdatei speichern")
Select Case ergName
Case "", False: Exit Sub
Case vbYes
If Dir(ergName)  "" Then
Frage = MsgBox("Das Angebot: " & ergName & _
" existiert bereits! Überschreiben?", vbYesNo)
If Frage = vbNo Then Exit Sub
'Fehlerbehandlung:  '#### problemzeile?
'Exit Sub            '#### problemzeile?
End If
End Select
ThisWorkbook.SaveAs ergName
Fehlerbehandlung:  '#### evtl. hier ?
'Exit Sub            '#### evtl. hier  ?
End Sub


Anzeige
AW: Fehler beim UserForm-Aufruf
17.02.2009 23:58:00
TCO99
Hallo Franz,
vielen vielen Dank für deine Antwort und dass du dich damit befasst hast!
Ich habe diverse neue Testmappen erstellt und konnte den Fehler nicht reproduzieren. Aber diese Datei zeigt den Fehler immer wieder. Die Fehlermeldung, die ich bekomme, sagt wirklich nichts aus, macht einen kein bisschen schlauer.
Ich habe den Rat bekommen, das Projekt neu aufzusetzen, wenn man nicht mehr herausfindet, woran es liegt. Daher setze ich das ganze Projekt neu auf und lasse den Code dieses Mal ganz weg. Wenn der Fehler sich nicht mehr zeigt, weiß ich, dass es eventuell irgendwo im Code schief läuft. Dann werde ich Stück für Stück suchen. Ich brauche etwas Zeit, um das Projekt neu aufgesetzt fertig zu bekommen und melde mich, sobald ich fertig bin.
Mich würde noch interessieren, ob es auch bei anderen zu dem Fehler kommt. Wenn es sonst bei keinem anderen passiert, kann es ja auch was mit meiner Excel-Installation zu tun haben. Erklären könnte ich es mir zwar nicht, aber mal sehen.
Viele Grüße
Erdogan
PS: Feedback ist selbstverständlich.
Anzeige
AW: Fehler beim UserForm-Aufruf
18.02.2009 11:06:00
Armin
Hallo Erdogan,
ich habe mir Dein Sheet angeschaut und kann keinen Prinzipjellen Fehler sehen. Dein Sheet macht sowohl bei Excel2003 als auch bei 2007 den gleichen Fehler!
Ich stimme Dir voll zu, dass Projekt neu aufsetzen und den Code in ein neues Sheet kopieren. Ich würde allerdings mehr mit dynamischen Objekten arbeiten. Die Gefahr das ein Staküberlauf bei umfangreichen VBA-Programmen das Excel zum Absturz bringt, ist schon bei vielen Excelversionen so.
Ich meine das so:
DIM Wx As Worsheet
Set WX =Worksheets("Daten")
Wx.Range("D4").Value=Programmfenster.TextBox1.Value
.........
'am Schluss
Set Wx=Nothing
Gutes gelingen
Gruß Armin
Anzeige
AW: Fehler beim UserForm-Aufruf
18.02.2009 19:01:00
TCO99
Hallo Armin,
herzlichen Dank dafür, dass du dir mein Sheet angeschaut hast! Ich habe es selbst so viele Male durchgesehen und einfach nicht verstanden, was den Fehler provoziert. Ich bin froh, dass ich jetzt weiß, was ich als nächstes tun kann (neu aufsetzen!).
Ich habe bereits mit dem Aufsetzen begonnen und werde deinen Rat befolgen.
Ich danke dir, Rainer und Matthias für eure Hilfe.
Viele Grüße
Erdogan
AW: Fehler beim UserForm-Aufruf
18.02.2009 21:02:00
TCO99
Hallo Franz,
ich setze die Datei neu auf, mir bleibt nichts anderes übrig.
Ich bedanke mich sehr herzlich bei dir!
Viele Grüße
Erdogan

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige