Hi Magda,
das bringt nichts.
Man müßte prinzipiell eine Zeile da einfügen, wo der neue Name reinpaßt, also z.B. "Bierbrauer" zwischen "Becker" und "Zeller".
Es gibt zwar Excel-Befehle, die so eine Zeilen-Nummer ermitteln können (=VERGLEICH), aber der funktioniert nur dann sauber, wenn die Liste sortiert ist.
D.h., um den zu benutzen, müßtest Du die Liste vorher sortieren (zumindest, wenn zuvor anders sortiert wurde), dann kannst es gleich unten anfügen und hinterher sortieren, das ist deutlich weniger Gefummel.
Du weißt ja, wie es geht, wobei ich es a) anders formulieren und b) noch nach Vorname sortieren würde:
Sub sortieren()
Tabelle1.Range("A1").CurrentRegion.Sort _
key1:=Tabelle1.Range("E1"), order1:=xlAscending, _
key2:=Tabelle1.Range("D1"), order2:=xlAscending, _
Header:=True
End Sub
Finkenbrunn 517 kannst vergessen, bei 145 ist Schluß, das ist das "Flügelrad".
Schöne Grüße,
Michael
P.S.: ok, ich verstehe das Problem. Hier die komplette Sub zum Reinkopieren in UF1:
Private Sub CommandButton3_Click()
'Eintrag speichern
Dim lZeile As Long, lIndex As Long
If ListBox1.ListIndex = -1 Then
lZeile = Tabelle1.Cells(Rows.Count, 5).End(xlUp).Row + 1
Else
lZeile = ListBox1.Column(1)
End If
lIndex = ListBox1.ListIndex
If Trim(TextBox91.Text) = "" Then
MsgBox "Feld Nachname muss gefüllt sein!", vbCritical + vbOKOnly, "FEHLER!"
'Abbrechen der Speicherroutine
Exit Sub
Else
With Tabelle1
.Cells(lZeile, 1).Value = TextBox1.Text
.Cells(lZeile, 2).Value = TextBox2.Text
.Cells(lZeile, 3).Value = TextBox3.Text
.Cells(lZeile, 4).Value = TextBox4.Text
.Cells(lZeile, 5).Value = Trim(TextBox91.Text)
.Cells(lZeile, 6).Value = TextBox5.Text
.Cells(lZeile, 7).Value = TextBox6.Text
.Cells(lZeile, 8).Value = TextBox7.Text
.Cells(lZeile, 9).Value = TextBox90.Text
.Cells(lZeile, 10).Value = TextBox8.Text
.Cells(lZeile, 11).Value = TextBox9.Text
.Cells(lZeile, 12).Value = TextBox10.Text
.Cells(lZeile, 13).Value = TextBox11.Text
.Cells(lZeile, 14).Value = TextBox12.Text
.Cells(lZeile, 15).Value = TextBox13.Text
.Cells(lZeile, 16).Value = TextBox14.Text
.Cells(lZeile, 17).Value = TextBox15.Text
.Cells(lZeile, 18).Value = TextBox16.Text
.Cells(lZeile, 19).Value = TextBox17.Text
.Cells(lZeile, 20).Value = TextBox18.Text
.Cells(lZeile, 21).Value = TextBox19.Text
.Cells(lZeile, 22).Value = TextBox20.Text
.Cells(lZeile, 23).Value = TextBox21.Text
.Cells(lZeile, 24).Value = TextBox22.Text
.Cells(lZeile, 25).Value = TextBox23.Text
.Cells(lZeile, 26).Value = TextBox24.Text
.Cells(lZeile, 27).Value = TextBox25.Text
.Cells(lZeile, 28).Value = TextBox26.Text
.Cells(lZeile, 29).Value = TextBox27.Text
.Cells(lZeile, 30).Value = TextBox28.Text
.Cells(lZeile, 31).Value = TextBox29.Text
.Cells(lZeile, 32).Value = TextBox30.Text
.Cells(lZeile, 33).Value = TextBox31.Text
.Cells(lZeile, 34).Value = TextBox32.Text
.Cells(lZeile, 35).Value = TextBox33.Text
.Cells(lZeile, 36).Value = TextBox34.Text
.Cells(lZeile, 37).Value = TextBox35.Text
.Cells(lZeile, 38).Value = TextBox92.Text
.Cells(lZeile, 39).Value = TextBox36.Text
.Cells(lZeile, 40).Value = TextBox37.Text
.Cells(lZeile, 41).Value = TextBox93.Text
.Cells(lZeile, 42).Value = TextBox38.Text
.Cells(lZeile, 43).Value = TextBox39.Text
.Cells(lZeile, 44).Value = TextBox94.Text
.Cells(lZeile, 45).Value = TextBox40.Text
.Cells(lZeile, 46).Value = TextBox41.Text
.Cells(lZeile, 47).Value = TextBox95.Text
.Cells(lZeile, 48).Value = TextBox42.Text
.Range("A1").CurrentRegion.Sort _
key1:=.Range("E1"), order1:=xlAscending, _
key2:=.Range("D1"), order1:=xlAscending, _
Header:=True
End With
' Nächste Verwaltungsnummer speichern
Tabelle2.Cells(2, 53).Value = Val(Tabelle2.Cells(2, 53).Value) + 1 ' xlph
End If
UserForm_Initialize
If lIndex = -1 Then
ListBox1.ListIndex = ListBox1.ListCount - 1
Else
ListBox1.ListIndex = lIndex
End If
End Sub