Fast geschafft !

Hallo liebe Experten,

fast geschafft - leider nur fast.
Ich habe ein etwas umfangreiches Berechnungsprogram erstellt, das über insgesamt 5 Userform bedient wird. Jetzt tritt folgendes Problem auf.

Die Hauptbedienung ist Userform1. Um eine andere Berechnung zu machen kann man in Userform5 wechseln und über die x - Steuerfläche zurück zu userform1 und weiterarbeiten.

Das geht x mal gut.
Irgendwann aber lassen sich die Listfelder in Userform1 nicht mehr bedienen. Es erscheint die Meldung „Laufzeitfehler - Typen unverträglich“
Passiert ist folgendes.
Im Tabellenblatt auf das sich das Listenfeld der Userform1 bezieht ( Controlsource ) verschwindet der Eintrag.

Warum passiert das und was kann ich dagegen tun.

Wenn ich in „DieseArbeitsmappe“ das dort befindliche Makro Initialize aktiviere werden die Anfangswerte wieder eingetragen und weiter gehts . Allerdings muss ich neu starten.

Gruss und schönen verschneiten Tag noch.

Hi Heiner,
mir sind das viel zu wenig Informationen um dir zu helfen.
Gruß
Reinhard

Hi Reinhard,

vielen Dank erstmal für Deine Antwort. Du hast nebenbei gesagt einen grossen Anteil an dem Berechnungsprogramm was Excel angeht. Du hast sicher gemerkt, dass ich schon geraume Zeit „übe“.

Was mich irritiert ist, dass das Program ( nach Lust und Laune ??? ) funktioniert. Aber irgendwann steigt es dann aus weil in der Tabelle die Felder in die die Werte geschrieben werden sollen ( Listenfelder ) gelöscht sind.
Die Listenfelder liefern die Werte auf die die ganze Rechnung beruht.

Du hast recht - ist schwer zu beschreiben !!

Gruss Heiner

Hi Heiner,
anonymisier/verkleinere die Daten und lade das mal hoch, z.B. bei
http://www.badongo.com/
Gruß
Reinhard

Hallo, langsam komme ich den Problemen auf die Spur. Ich habe den Listenfeldern keinen Wert ( Value ) zugewiesen. Seit ich das gemacht habe läuft es stabiler.

Jetzt hat sich noch folgendes aufgetan
Ich habe die Möglichkeit vorgesehen Tabelle2 zu speichern und danach auf das Berechnungsprogram Userform1 zurück zu gehen. . Das funktioniert auch .
Nur wenn die Datei nicht gespeichert wird, sondern man den Speicherdialog abbricht steigt das Programm aus.
Mit folgendem Makro speichere ich Tabelle2:

Private Sub CommandButton12_Click()
Sheets(„Tabelle2“).Copy
ChDir „C:“
ChDrive „C“
'Das Dialogfenster, „test.xls“ als Vorgabedatei
Dateiname = Application.GetSaveAsFilename _
(„Test.xls“, „Micrsoft Excel-Dateien (*.xls),*.xls“)
If Dateiname = False Then ActiveWorkbook.Close
Else
ActiveWorkbook.SaveAs Filename:=Dateiname
ActiveWorkbook.Close
End If
End Sub

Mühsam ernährt sich das Eichhörnchen

Gruss Heiner

Hallo Heiner,
mich wundert dass der Kompiler deine If-then-else onstruktion annahm.
Probiers mal so:

Private Sub CommandButton12\_Click()
Sheets("Tabelle2").Copy
ChDrive "C"
ChDir "C:\"
'Das Dialogfenster, "test.xls" als Vorgabedatei
Dateiname = Application.GetSaveAsFilename \_
("Test.xls", "Micrsoft Excel-Dateien (\*.xls),\*.xls")
If Dateiname = False Then
 ActiveWorkbook.Close
Else
 ActiveWorkbook.SaveAs Filename:=Dateiname
 ActiveWorkbook.Close
End If
End Sub

Gruß
Reinhard