Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zelleninhalt per Schleife löschen

Zelleninhalt per Schleife löschen
15.11.2022 20:47:31
Romy
Hallo
Ich habe mir mit meinen bescheidenen Kenntnissen und bisherigen Lernerfahren den folgenden Code zusammengeschrieben:

Sub InhaltLoeschen()
Dim ws, i As Integer
Dim tbl As ListObject
For ws = 1 To 12
For Each tbl In ThisWorkbook.Sheets(ws).ListObjects
For i = 3 To 33
tbl.ListColumns(i).DataBodyRange.ClearContents
Next i
Next tbl
Next ws
End Sub
Dieser soll bewirken das auf den ersten 12 Tabellenblätter der Arbeitsmappe in jeder dort vorhandenen intilligenten Tabelle der Zelleninhalt der Spalten 3 bis 33 ohne die Kopf- und Ergebniszelle gelöscht wird. Wenn ich den Code ausführe, wird mir eine Fehlermeldung angezeigt. Ich bitte um Unterstützung.
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalt per Schleife löschen
15.11.2022 21:15:06
JoWE
Hallo,
Du kannst Dir nicht vorstellen, dass es für uns hilfreich wäre die Fehlermeldung zu kennen?
Noch hilfreicher wäre es eine Beispiel-Arbeitsmappe hochzuladen.
Gruß
Jochen
AW: Zelleninhalt per Schleife löschen
15.11.2022 21:16:11
Uduuh
Hallo,
die For i=...-Schleife ist überflüssig

Sub InhaltLoeschen()
Dim ws, i As Integer
Dim tbl As ListObject
For ws = 1 To 12
For Each tbl In ThisWorkbook.Sheets(ws).ListObjects
tbl.DataBodyRange.ClearContents
Next tbl
Next ws
End Sub

Anzeige
AW: Zelleninhalt per Schleife löschen
15.11.2022 21:22:35
GerdL
Hallo Romy,
welche Fehlermeldung in welcher Codezeile?
Falls nicht jedes Tabellchen 33 Spalten hat:
For i = 3 To tbl.ListColumns.Count
Gruß Gerd
AW: Zelleninhalt per Schleife löschen
16.11.2022 09:31:56
Romy
Danke für die bisherigen Antworten. Laufzeitfehler 9. Und manchmal bemerkt man das offensichtliche nicht. In jedem der 12 Arbeitsblätter ist als erstes eine intelligente Tabelle mit nur 7 Spalten. Bei dieser möchte ich den Zellinhalt auch nicht löschen. Wie kann ich der for each Anweisungen mitteilen, das die erste Tabelle auf jedem Arbeitsblatt „übersprungen“ werden soll?
Anzeige
AW: Zelleninhalt per Schleife löschen
16.11.2022 10:01:35
GerdL
Hallo Romy,
teste mal.

Sub InhaltLoeschen()
Dim ws As Integer
Dim tbl As ListObject
For ws = 1 To 12
For Each tbl In ThisWorkbook.Worksheets(ws).ListObjects
If tbl.ListColumns.Count > 7 Then
tbl.ListColumns(3).DataBodyRange.Resize(, 34).ClearContents
End If
Next tbl
Next ws
End Sub
Gruß Gerd
Anzeige
AW: Zelleninhalt per Schleife löschen
16.11.2022 20:13:30
Romy
Hallo Gerd, die Anpassungen funktionieren schon fast. Ich habe nun endlich auch die Zeit gefunden, die Datei an zupassen und als Beispiel hochzuladen: https://www.herber.de/bbs/user/156219.xlsm
Aktuelles Problem beim Code ist, das er auch in der ersten intelligenten Tabelle auf jedem Arbeitsblatt Daten ab der 3 Spalte löscht. Jedoch soll er die Daten in diesen Tabellen nicht löschen.
Romy
Anzeige
AW: Zelleninhalt per Schleife löschen
18.11.2022 14:44:22
GerdL
Hallo Romy!

Sub InhaltLoeschenX()
Dim ws As Integer
Dim tbl As ListObject
For ws = 1 To ThisWorkbook.Worksheets.Count
For Each tbl In ThisWorkbook.Worksheets(ws).ListObjects
If Not tbl.Name Like "MA*" Then
tbl.ListColumns(3).DataBodyRange.Resize(, 34).ClearContents
End If
Next tbl
Next ws
End Sub
Gruß Gerd
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige