ich habe nachstehendes VBA geschrieben um die erfasste Daten in der Userform in meine intelliente Tabelle zu übertragen. leider wird in der Tabelle nicht ein Zeile dazugegeben und dort die Daten erfasst, sondern die letzte Zeile überschrieben. wo ist mein Fehler?
Private Sub ButtonSpeichern_Click()
'Daten ins Tabellenblatt eintragen
Dim tbl As ListObject
Set tbl = Tabelle3.ListObjects(1)
Dim neueZeile As Long
'Zeile hinzufügen
neueZeile = Tabelle3.Cells(Rows.Count, 1).End(xlUp).Row
'Zeile in Variabler speichern
Zeile = tbl.DataBodyRange.Rows.Count
'Daten befüllen
With Tabelle3
tbl.DataBodyRange(Zeile, 1).Value = TextBoxID.Value
tbl.DataBodyRange(Zeile, 2).Value = ComboBoxBetrieb.Value
tbl.DataBodyRange(Zeile, 3).Value = TextBoxSuffix.Value
tbl.DataBodyRange(Zeile, 4).Value = ComboBoxAnrede.Value
tbl.DataBodyRange(Zeile, 5).Value = TextBoxTitel.Value
tbl.DataBodyRange(Zeile, 6).Value = TextBoxFamilienname.Value
tbl.DataBodyRange(Zeile, 7).Value = TextBoxVorname.Value
tbl.DataBodyRange(Zeile, 8).Value = TextBoxName.Value
tbl.DataBodyRange(Zeile, 9).Value = ComboBoxGeschlecht.Value
tbl.DataBodyRange(Zeile, 10).Value = ComboBoxNationalitaet.Value
End With
'UserForm schließen
Unload Me
'Navigieren zu Tabellenblatt Datenbank
Tabelle3.Select
ActiveWindow.ScrollRow = tbl.DataBodyRange(Zeile, 1).Row
tbl.DataBodyRange(Zeile, 1).Select
End Sub
Private Sub ButtonSpeichern_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
ButtonSpeichern.BackColor = RGB(179, 136, 235)
End Sub
Private Sub UserForm_Initialize()
'Tabelle Einlesen
Dim tbl As ListObject
Set tbl = Tabelle3.ListObjects(1)
'ID befüllen
TextBoxID.Value = tbl.DataBodyRange(tbl.DataBodyRange.Rows.Count, 1).Value + 1
'ComboBoxen befüllen
ComboBoxBetrieb.List = Tabelle12.ListObjects("tblBetrieb").DataBodyRange.Value
ComboBoxBetrieb.ListIndex = 0
ComboBoxAnrede.List = Tabelle12.ListObjects("tblAnrede").DataBodyRange.Value
ComboBoxAnrede.ListIndex = 0
ComboBoxGeschlecht.List = Tabelle12.ListObjects("tblGeschlecht").DataBodyRange.Value
ComboBoxGeschlecht.ListIndex = 0
ComboBoxFamilienstand.List = Tabelle12.ListObjects("tblFamilienstand").DataBodyRange.Value
ComboBoxFamilienstand.ListIndex = 0
End Sub
|