erste_freie_Zeile = Sheets("Kostenauflistung").Range("A1").Selection.End(xlDown).Offset(1).Row
So, den Fehler habe ich jetzt selber entdeckt. Selection gehört nicht hier rein.
Jetzt habe ich noch ein Problem:
Wenn ich im Datumsfeld kein gültiges Datum (z.B. Text) eingebe, dann
bekomme ich immer die Fehlermeldung zum Debuggen. Wie kann ich falsche Eingaben kontrollieren und zb mit einer MsgBox anzeigen?
Ich kopiere mal meinen Quellcode hier rein:
--------------------------------
Option Explicit
Private Sub Eingeben_Click()
'Variable deklarieren
Dim erste_freie_Zeile As Integer
'erste freie Zeile in Blatt "Kostenauflistung" ermitteln
'und in Variable "erste_freie_Zeile" schreiben
'erste_freie_Zeile = Sheets("Kostenauflistung").Range("A65536").End(xlUp).Offset(1, 0).Row
erste_freie_Zeile = Sheets("Kostenauflistung").Range("A1").End(xlDown).Offset(1).Row
'In Blatt "Kostenauflistung"
'With Sheets("Kostenauflistung")
'Spalte A, erste freie Zeile das Datum im Datumsformat übertragen
Sheets("Kostenauflistung").Cells(erste_freie_Zeile, 1) = CDate(TextBox1.Text)
'Spalte B, erste freie Zeile den Betrag im Währungsformat übertragen
'Sheets("Kostenauflistung").Cells(erste_freie_Zeile, 2) = Format(TextBox2.Text, "#,##0.00 €")
Sheets("Kostenauflistung").Cells(erste_freie_Zeile, 2) = Format(TextBox2.Text)
'Spalte C, erste freie Zeile das ausgewählte Konto übertragen
Sheets("Kostenauflistung").Cells(erste_freie_Zeile, 3) = ComboBox1.Text
'End With
Unload Me
End Sub
Private Sub Abbruch_Click()
'UserForm schließen
Unload Me
End Sub
Private Sub UserForm_Initialize()
'Variable deklarieren
Dim Wiederholungen As Integer
'Schleife zum Füllen der ComboBox mit den Daten aus Blatt "Hilfstabelle"
'Spalte A ab Zeile 2 bis zur letzten gefüllten Zeile
For Wiederholungen = 2 To Sheets("Hilfstabelle").Range("A65536").End(xlUp).Row
ComboBox1.AddItem Sheets("Hilfstabelle").Cells(Wiederholungen, 1)
Next
End Sub
--------------------------------
Danke nochmals!
Stefan