Clever-Excel-Forum

Normale Version: Inteligente Tabelle löschen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
ich hoffe ihr könnt mir einwenig helfen =)

ich habe eine Inteligente Tabelle von HA203:HE230
dort kommen täglich so ca 100 zeilen dazu, diese sollen aber am nächsten tag (beim öffnen der Tabelle) wieder gelöscht werden.
nicht nur der Inhalt die komplette Zelle.

.Range("HA271:HE400").Delete

das hab ich versucht, aber wenn die Int Tabelle nur bis 350 geht würde das nicht funktionieren.

ich hoffe ihr versteht was ich meine.
Moin

Da schaut man einfach mal in den VBA Guide To ListObject Excel Tables rein.
Moin,

Code:
Selection.Delete Shift:=xlUp
ThisWorkbook.Sheets("test").Range("HA271:HE400").Select

Selection.Delete Shift:=xlUp


habe ich versucht, geht aber nicht weil die inteligente Tabelle nur bis 278 gerade geht.
ich müste also glaube ich noch raus bekommen wie weit die gerade geht, oder?
Hallöchen,

in #2 kam ja schon der Hinweis mit dem Guide.

Wichtig, Du solltest auch beim Löschen schauen dass es da Spalten und Zeilen gibt und was da anders ist als beim Löschen einer Blattzeile.

Das Löschen einer IT-Zeile könnte z.B. so aussehen:

Sheets("Tabelle1").ListObjects("Tabelle1").ListRows(indexSelectedRow).Delete

(indexSelectedRow wäre eine individuelle Variable für die Zeilennummer)
Mach was draus:
Sub Zeilen_Weg()
Dim i&
With Worksheets("Tabelle1").ListObjects("Tabelle1")
  For i = .ListRows.Count To 5 Step -1
    .ListRows(i).Delete
  Next
End With
End Sub

Gruß Ralf
Hallo,

du wirst sicher wissen, wo die Kopfzeile der strukturierten Tabelle liegt.
Angenommen die Zelle Test!HA270 ist eine Zelle, die 100% sicher in dieser Tabelle liegt (zB. weil sie sich in der Kopfzeile dieser Tabelle befindet).
Dann kannst du den ganzen Datenbereich der Tabelle (ohne der Kopfzeile) löschen, wie folgt:
Worksheets("Test").Range("HA270").ListObject.DatabodyRange.Delete

oder aber um die gesamte Tabelle zu entfernen, ausgehend von vorgenannter Zelle:
Worksheets("Test").Range("HA270").ListObject.Delete

oder aber um den Tabellennamen der strukt.Tabelle zu ermitteln, die die Zelle Test!HA270 irgendwo in ihrem Inneren enthält:
Dim LstObj As ListObject
Set LstObj = Worksheets("Test").Range("HA270").ListObject
MsgBox LstObj.Name