Habe ein problemchen.
Der untenstehende Code habe ich erweitert. So weit so gut.
Wenn ich die UF öffne und noch nicht in die Listbox klicke sondern direkt den Commandbutton Datensatz löschen betätige, löscht er mir die oberste Listenzeile also den Listindex. (Beschriftung der Spalten).
Wenn ich aber beim Oeffnen der UF zuerst in die Listbox mit der Maus gehe und dort einen Datensatz anklicke und danach den Commandbutton löschen betätige, löscht er wie es sein sollte diesen Datensatz.
Ist es möglich, daß der Cursor beim Datensatz eintragen per Commandbutton nicht immer wieder am Anfang der Listbox springt sondern dort bleibt wo ich den Datensatz eben neu eingetragen habe oder besser eine Zeile weiter unten.
Für Eure hilfe danke ich Euch.
Grüsschen
Lisa
Private Sub UserForm_Activate()
Dim rngSource As Object
Dim intColums As Integer
ListBox1.ColumnWidths = "3,4cm;5,9cm;0,8cm;1,4cm;6,0cm;2,0cm;2,0cm"
With Worksheets("Userform2")
Set rngSource = .Range("A1").CurrentRegion
Set rngSource = rngSource.Offset(1, 1).Resize(rngSource.Rows.Count - 1, rngSource. _
Columns.Count)
With Me.ListBox1
.ColumnCount = 7 'intColums
.ColumnHeads = True
.RowSource = "Userform2!" & rngSource.Address
End With
End With
Set rngSource = Nothing
End Sub
Private Sub ListBox1_Click()
' bei Klick in die Listbox werden die daten aus der Tabelle eingelesen
If ListBox1.Tag "" Then Exit Sub
Dim Datensatz As Integer
Datensatz = UserForm1.ListBox1.ListIndex + 2
With UserForm1
.TextBox1.Text = Worksheets("Userform2").Cells(Datensatz, 1)
.TextBox2.Text = Worksheets("Userform2").Cells(Datensatz, 3)
.TextBox3.Text = Worksheets("Userform2").Cells(Datensatz, 4)
.TextBox4.Text = Worksheets("Userform2").Cells(Datensatz, 5)
.TextBox5.Text = Worksheets("Userform2").Cells(Datensatz, 6)
.TextBox6.Text = Worksheets("Userform2").Cells(Datensatz, 7)
.TextBox7.Text = Worksheets("Userform2").Cells(Datensatz, 8)
End With
End Sub
Private Sub CommandButton1_Click()
' Datensatz eintragen
Dim Datensatz As Integer
Datensatz = UserForm1.ListBox1.ListIndex + 2
ListBox1.Tag = 1
Worksheets("Userform2").Cells(Datensatz, 1) = TextBox1
Worksheets("Userform2").Cells(Datensatz, 3) = TextBox2
Worksheets("Userform2").Cells(Datensatz, 4) = TextBox3
Worksheets("Userform2").Cells(Datensatz, 5) = TextBox4
Worksheets("Userform2").Cells(Datensatz, 6) = TextBox5
Worksheets("Userform2").Cells(Datensatz, 7) = Me.TextBox6.Text ' * 1
Worksheets("Userform2").Cells(Datensatz, 8) = Me.TextBox7.Text ' * 1
ListBox1.Tag = ""
End Sub
Private Sub CommandButton2_Click()
' Datensatz löschen
Dim Datensatz As Integer
Datensatz = UserForm1.ListBox1.ListIndex + 2
ListBox1.Tag = 1
Worksheets("Userform2").Cells(Datensatz, 1) = TextBox1
Worksheets("Userform2").Cells(Datensatz, 3) = TextBox2
Worksheets("Userform2").Cells(Datensatz, 4) = TextBox3
Worksheets("Userform2").Cells(Datensatz, 5) = Delete
Worksheets("Userform2").Cells(Datensatz, 6) = Delete
Worksheets("Userform2").Cells(Datensatz, 7) = Delete
Worksheets("Userform2").Cells(Datensatz, 8) = Delete
ListBox1.Tag = ""
Unload UserForm1
UserForm1.Show
End Sub