Inteligente Tabelle löschen
#1
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.
Antworten Top
#2
Moin

Da schaut man einfach mal in den VBA Guide To ListObject Excel Tables rein.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#3
Moin,

Code:
Selection.Delete Shift:=xlUp

Interpunktion und Orthographie dieses Textes sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

Grüße, StefanB
Antworten Top
#4
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?
Antworten Top
#5
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)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#7
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
Mit lieben Grüßen
Anton.

Windows 10 64bit
Office365 32bit
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste