Ich wünsche noch einen guten Start in die Woche und nun zu meiner Frage:
Mittels nachfolgendem Code lasse ich Datensätze ändern. Dieser wird zuvor gesucht und mittels Click in ein Listenfeld ausgewählt, dann verändert und per Click auf ein Button wird der Code ausgelöst und der Datensatz geändert und nun möchte ich, dass nach der Änderung die Zeile markiert ist in der der Datensatz steht welcher geändert wurde.
Nun der Code:
Private Sub CommandButton6_Click()
'Datensatz ändern
Application.ScreenUpdating = False
Dim lng As Long
Dim Treffer As Range
Dim i As Integer
On Error Resume Next
lng = frmDaten.ListBox1.Column(8)
Sheets("DATEN").Activate
If Me.TextBox4.Value = "" Then
Me.TextBox4.Value = TextBox7.Value
End If
Set Treffer = DATEN.Columns(1).Find(What:=Me.TextBox1.Value, _
LookAt:=xlWhole)
If Treffer Is Nothing Then
lng = Range("A65536").End(xlUp).Offset(1, 0).Row
Else
i = MsgBox("Dieser Satz wurde bereits erfasst! Überschreiben?", _
vbYesNo + vbQuestion)
If i = 6 Then
lng = Treffer.Row
Else
Exit Sub
End If
End If
With frmDaten
Cells(lng, 1).Value = .TextBox1.Value * 1
Cells(lng, 2).Value = CDate(TextBox2.Text)
Cells(lng, 3).Value = .TextBox3.Value
Cells(lng, 4).Value = .TextBox4.Value
Cells(lng, 5).Value = .TextBox5.Value * 1
Cells(lng, 6).Value = .TextBox6.Value * 1
'Listbox aktualisieren
i = .ListBox1.ListIndex
.ListBox1.Column(0, i) = .TextBox1.Value
.ListBox1.Column(1, i) = .TextBox2.Value
.ListBox1.Column(2, i) = .TextBox3.Value
.ListBox1.Column(3, i) = .TextBox4.Value
.ListBox1.Column(4, i) = .TextBox5.Value
.ListBox1.Column(5, i) = .TextBox6.Value
End With
Application.ScreenUpdating = True
End Sub
Ich hoffe ihr konntet mein anliegen verstehen und mir helfen, was ich in meinen Code einfügen muss?
Danke!!!
Mit frdl. Gruß Frank H.