Absturz Excel bei listobject.listrow.add
08.09.2022 10:24:29
JoJa
ich habe eine Listobject-Tabelle (ich nenne sie hier tbl_Personal), welche nicht in Zelle A1 beginnt. Nun möchte ich über eine Userform die Personaldaten bearbeiten und das einfachste ist ja über die Maske. Das geht aber über ein Makro nur, wenn tbl_Personal in A1 beginnt und ich möchte niemandem zumuten, die Masken-Aufforderung immer selbst aus den Tiefen Excels herauszusuchen.
Deshalb habe ich eine Userform gebaut, die das selbe machen soll, wie die Maske. Mein Problem ist, immer wenn ich eine neue Zeile hinzufügen möchte, stürzt Excel einfach ab. Auch wenn ich nicht die Funktion .ListRows.Add nutze und über .Cells(lastrow,firstcol).Value gehe, stürzt es auch ab.
Weiß jemand Abhilfe?
Bisheriger Code auf das wichtigste heruntergebrochen und Beispieldatei im Anhang:
Sub Neues_Personal()
UserForm1.Show
End Sub
Private Sub UserForm_Initialize()
Dim tbl_Personal As ListObject
Set tbl_Personal = Tabelle1.ListObjects("Personal")
With Me.ListBox1
.RowSource = tbl_Personal.DataBodyRange.Address
.ColumnHeads = True
.ColumnWidths = "90;90;50;50"
End With
End Sub
Private Sub CommandButton1_Click()
Dim tbl_Personal As ListObject
Set tbl_Personal = Tabelle1.ListObjects("Personal")
Dim lrow As Integer
lrow = tbl_Personal.DataBodyRange.Rows.Count + tbl_Personal.HeaderRowRange.Row + 1
tbl_Personal.ListRows.Add 'Hier stürzt Excel ab
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
https://www.herber.de/bbs/user/155052.xlsm
Vielen Dank, Johannes