AW: Problem mit Formular (OptionButton)
16.10.2020 17:21:33
Felix
Hallo Anna,
Private Sub cmd_Click()
Dim rng As Range
Set rng = Sheets("Ein").Range("A65536").End(xlUp).Offset(1, 0)
With rng
' .Offset(6, 0) = Format(txtDatum, "dd.mm.yyyy")
.Offset(0, 8) = TextBox7.Text
.Offset(0, 5) = TextBox5.Text
'.Offset(0, 0) = txtObjekt.Text
' .Offset(0, 8) = TextBox2.Text
End With
Unload Me
End Sub
Das ist dein bisheriger Code zum einfügen des Datensatzes. Theoretisch funktionierts und es scheiden sich auch die Geister welche Möglichkeit die Eleganteste ist.
Ich habe mich daran gewöhnt die UsedRange.Rows.Count +1 Methode zu nutzen. Dabei prüft Excel welcher Bereich des Tabellenblatts benutzt ist, zählt die Zeilen und gibt dann einen Wert zurück. Dadurch kann man die nächste freie Zeile ermitteln.
Private Sub cmd_Click()
Dim zeile As Long
zeile = Sheets("Ein").UsedRange.Rows.Count + 1
With Sheets("Ein")
.Cells(zeile, 1) = TextBox1.Text
.Cells(zeile, 2) = TextBox2.Text
.Cells(zeile, 3) = TextBox3.Text
.Cells(zeile, 4) = TextBox4.Text
.Cells(zeile, 5) = Month(CDate(TextBox4.Text))
.Cells(zeile, 6) = TextBox5.Text
If OptionButton1.Value = True Then .Cells(zeile, 7) = TextBox5.Text * 0.05
If OptionButton2.Value = True Then .Cells(zeile, 8) = TextBox5.Text * 0.16
.Cells(zeile, 9) = TextBox7.Text
End With
Unload Me
End Sub
Das wäre mein Alternativcode, die Steuersätze hab ich mit einer If-Funktion gelöst. Viel Spaß mit dem Code :)
Gruß Felix