Guten Tag liebe Community,
ich würde gerne nachdem ich den Befehl DataBody.ClearContents ausgeführt habe, die Anzahl an Zeilen des "DataBodys" auf 3 bzw. X setzen.
Wie bekomme ich das hin?
[
attachment=40044]
PS: Die Ergebniszeile sollte erhalten bleiben.
Liebe Grüße
Mitness
Moin,
warum .ClearContents und dann Zeilen löschen?
.DataBodyRange.Rows.Delete löscht alle Zeilen.
.DataBodyRange.Rows("3:5").Delete löscht bspw. Zeilen 3 bis 5.
.DataBodyRange.Rows.Count liefert Dir die Anzahl Zeilen des Datenbereichs.
.DataBodyRange.Rows("3:" & .DataBodyRange.Rows.Count).Delete löscht Dir von Zeile 3 bis Ende (variabel).
Vielen Dank euch beiden für die hilfreichen Beiträge.
Meine finale Lösung sieht nun so aus:
Code:
Sub tblClearAndShrink()
Dim tbl As ListObject
Dim delEnd As Integer
Set tbl = wsInput.ListObjects("Tabelle4")
delEnd = tbl.DataBodyRange.Rows.Count
tbl.DataBodyRange.ClearContents
If delEnd <= 4 Then
Else
tbl.DataBodyRange.Rows("4:" & delEnd).Delete
End If
End Sub
Die If-Abfrage habe ich mit reingeommen, da bei wiederholten Ausführen von .Delete, die Tabelle um mehr als die verbleibenden drei Zeilen gelöscht wurde.