Dein Code nochmal:
'Daten Einlesen
Sub KundenSuche()
Dim i As Integer
Dim kD As Integer
Dim AnzZahlen As Long
AnzZahlen = Worksheets("Kontakte").UsedRange.Rows.Count
kD = Application.InputBox("Bitte Kundennummer angeben", "Kundennummer", Type:=1)
For i = 1 To AnzZahlen
If kD = Worksheets("Kontakte").Cells(i, 1).Value Then
With Worksheets("Kontakte")
UserForm1.TextBox_Name.Value = .Cells(i, 2).Value
UserForm1.TextBox_Tel.Value = .Cells(i, 3).Value
UserForm1.ComboBox1.Value = .Cells(i, 4).Value
UserForm1.TextBox_Typ.Value = .Cells(i, 5).Value
UserForm1.TextBox_Schluessel.Value = .Cells(i, 6).Value
UserForm1.TextBox_HU.Value = .Cells(i, 7).Value
UserForm1.TextBox_Notizen.Value = .Cells(i, 9).Value
End With
End If
Next i
If UserForm1.TextBox_Name = "" Then
MsgBox "Kundennummer nicht vorhanden" & Chr(10) & "Bitte erneut eingeben!", vbCritical, "Fehler"
Exit Sub
Else
MsgBox "Kunden gefunden"
End If
UserForm1.Show
End Sub
'Daten Speichern
Private Sub Button_ok_Click()
If TextBox_Name = "" Then
MsgBox "Du musst einen Namen eintragen!"
Unload UserForm1
Else
MsgBox "Kundendaten wurden erfolgreich gespeichert"
Dim last As Integer
last = ActiveSheet.Cells(25, 2).End(xlUp).Row + 1
Cells(last, 2).Value = TextBox_Name
Cells(last, 3).Value = TextBox_Tel
Cells(last, 4).Value = ComboBox1
Cells(last, 5).Value = TextBox_Typ
Cells(last, 6).Value = TextBox_Schluessel
Cells(last, 7).Value = TextBox_HU
Cells(last, 9).Value = TextBox_Notizen
End If
End Sub
In KundenSuche ermittelst du anhand der Kunden-Nummer die Zeile und übernimmst dann aus dieser die Daten in deine UserForm1.
Zum Speichern (Button_ok_Click) der in der UserForm bearbeiteten Daten brauchst du wieder die Zeile dieses Datensatzes ... und da liegt der Hund begraben. Du hast die Zeile da nicht. Stattdessen suchst du nach der letzten Zelle mit Inhalt in Spalte B, angefangen von Zeile 25 aus nach oben und nimmst dessen Zeilenindex. -> Das ist deiner Beschreibung nach aber nicht das was du wirklich vorhattest, oder?
PS: Mase hat recht. Crossposting ist in vielen Foren - wenn nicht sogar in allen Foren - »OHNE Hinweis darauf« äußerst ungern gesehen. Darum ist man gut beraten, die Foren-Beiträge gegenseitig zu verlinken. So kann jeder den Status einsehen und »gemeinsam« helfen. Das führt auch für den Beitragersteller schneller zum gewünschten Ergebnis.
|