Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellbereich in Tabelle löschen ohne Überschrift

Forumthread: Zellbereich in Tabelle löschen ohne Überschrift

Zellbereich in Tabelle löschen ohne Überschrift
29.09.2018 15:45:20
Peter
Hallo ihr Excelspezialisten,
ich benötige wieder einmal eure fachkundige Hilfe.
Ich habe ein Makro mit welchem ich einen Wert suche und dann den danebenstehenden Bereich lösche.
Dies erfolgt mit: Worksheets("Kontosalden").Range(Cells(i, 1), Cells(i, 6)).Delete Shift:=xlUp
Wenn ich jedoch die 2. Zeile von oben lösche, wird die Überschrift überschrieben.
Könnt ihr mir bitte mitteilen, wie ich den Code ändern muss, damit die Überschrift erhalten bleibt.
Besten Dank für eure Hilfe.
Gruss
Peter
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellbereich in Tabelle löschen ohne Überschrift
29.09.2018 15:51:16
Hajo_Zi

If i>2 then
Worksheets("Kontosalden").Range(Cells(i, 1), Cells(i, 6)).Delete Shift:=xlUp
End If


Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW:funktioniert
29.09.2018 16:09:40
Peter
Hallo Hajo,
besten Dank für Deine Hilfe.
Es funktioniert einwandfrei, aber richtig ist:
If i>1 then
Worksheets("Kontosalden").Range(Cells(i, 1), Cells(i, 6)).Delete Shift:=xlUp
End If
Wünsche Dir noch einen schönen Tag.
Gruss
Peter
Anzeige
AW: Zellbereich in Tabelle löschen ohne Überschrift
29.09.2018 16:07:00
Daniel
Hi
sollte nicht passieren.
in welcher Zeile steht denn die Überschrift?
btw, es sollte sich mittlerweile herumgesprochen haben, dass wenn sich ein Range(Cells(), Cells()) nicht auf das aktive Tabellenblatt beziehen soll, man das Tabellenblatt vor den beiden Cells hinschreiben muss und nicht vor der Range.
richtig ist:
Range(Worksheets("Kontosalden").Cells(i, 1), Worksheets("Kontosalden").Cells(i, 6)).Delete Shift:=xlUp

und wenn der Code nicht in einem allgemeinen Modul steht sondern in einem Tabellenblattmodul, dann braucht man sogar:
Worksheets("Kontosalden").Range(Worksheets("Kontosalden").Cells(i, 1), Worksheets("Kontosalden").Cells(i, 6)).Delete Shift:=xlUp
deswegen sollte man auch besser programmieren:
Worksheets("Kontosalden").Cells(i, 1).Resize(, 6).Delete Shift:=xlup
Gruß Daniel
Anzeige
AW: Zellbereich in Tabelle löschen ohne Überschrift
29.09.2018 16:14:56
Peter
Hallo Daniel,
besten Dank für Deinen Rat.
Habe ihn gleich umgesetzt.
Noch kurz eine Frage - warum soll das nicht gemacht werden
Gruss
Peter
AW: Zellbereich in Tabelle löschen ohne Überschrift
29.09.2018 16:25:49
Daniel
Hi
ein Range, Cells, Columns, Rows ohne Tabellenblattangabe davor bezieht sich immer auf das aktive Tabellenblatt.
das gilt auch für die Cells innerhalb der Range
und es ist doch irgendwie sinnvoll, dass die Cells, die die Range definieren, auf dem gleichen Tabellenblatt liegen wie die Range, die sie definieren sollen.
das Worksheets("Kontosalden").Range(Cells(i, 1), Cells(i, 6)) funktioniert nur, wenn "Kontosalden" das aktive Tabellenblatt ist. und dann kannst du auch gleich schreiben: Range(Cells(i, 1), Cells(i, 6))
wenn du das Tabellenblatt nur an einer Stelle angibst, dann ist es so, dass das wenn es vor der Range fehlt, das Tabellenblatt der beiden Cells auch für die Range übernommen wird, weil die Cells die Range definieren.
umgekehrt funktioniert es nicht, dh wenn vor der Range ein Tabellenblatt steht, so wird dieses nicht and die Cells übergeben, sondern die Cells beziehen sich auf das aktive Blatt.
wenn man das tabllenblatt immer angeben müsste, würdest du wahrscheinlich sofort sehen, dass:
Sheets("Kontosalden").Range(ActiveSheet.Cells(i, 1), ActiveSheet.Cells(i, 6)) irgendwie nicht besonders sinnvoll ist.
Gruß Daniel
Anzeige
AW: Zellbereich in Tabelle löschen ohne Überschrift
29.09.2018 16:27:41
Peter
Hallo Daniel,
besten Dank und noch einen schönen Tag.
Gruss
Peter
Anzeige
Anzeige

Infobox / Tutorial

Zellbereich in Excel-Tabelle löschen ohne Überschrift


Schritt-für-Schritt-Anleitung

  1. Makro anpassen: Um einen Zellbereich in einer Excel-Tabelle zu löschen, ohne die Überschrift zu überschreiben, musst Du sicherstellen, dass Dein Code die richtige Zeile ansprechen kann. Ein einfaches Beispiel wäre:

    If i > 1 Then
        Worksheets("Kontosalden").Range(Cells(i, 1), Cells(i, 6)).Delete Shift:=xlUp
    End If
  2. Tabellenblatt korrekt ansprechen: Achte darauf, dass Du das Tabellenblatt in Deinem Code immer angibst, um Missverständnisse zu vermeiden. Der folgende Code ist korrekt:

    Range(Worksheets("Kontosalden").Cells(i, 1), Worksheets("Kontosalden").Cells(i, 6)).Delete Shift:=xlUp
  3. Zellen dynamisch anpassen: Um den Code flexibler zu gestalten, kannst Du die Resize-Funktion verwenden:

    Worksheets("Kontosalden").Cells(i, 1).Resize(, 6).Delete Shift:=xlUp

Häufige Fehler und Lösungen

  • Fehler: Überschrift wird überschrieben
    Lösung: Stelle sicher, dass Du die Bedingung If i > 1 Then verwendest, damit die erste Zeile (Überschrift) nicht gelöscht wird.

  • Fehler: Falsches Tabellenblatt aktiv
    Lösung: Verwende immer die vollständige Referenz zum Arbeitsblatt, um sicherzustellen, dass der Code auf dem richtigen Blatt ausgeführt wird.


Alternative Methoden

Falls Du die Excel-Tabelle ohne Spaltenüberschrift leeren möchtest, kannst Du auch die gesamte Tabelle löschen und neu erstellen:

Worksheets("Kontosalden").Cells.Clear

Diese Methode entfernt den gesamten Inhalt der Tabelle, einschließlich der Überschrift. Wenn Du nur die Daten unter der Überschrift entfernen möchtest, kannst Du folgendes verwenden:

Worksheets("Kontosalden").Range("A2:F100").ClearContents

Praktische Beispiele

  1. Zellen leeren: Um nur die Daten in einem bestimmten Bereich zu leeren, aber die Überschrift zu behalten:

    Worksheets("Kontosalden").Range("A2:F100").ClearContents
  2. Tabellenformat entfernen: Um das Tabellenformat zu entfernen, ohne die Daten zu löschen:

    Worksheets("Kontosalden").ListObjects("Tabelle1").Unlist

Tipps für Profis

  • Vermeidung von Fehlern: Verwende immer die vollständige Referenz für Zellen, um zu vermeiden, dass Du versehentlich auf die falschen Zellen zugreifst.

  • Code kommentieren: Kommentiere Deinen Code, um anderen (oder Dir selbst später) das Verständnis zu erleichtern.

  • Backups erstellen: Bevor Du weitreichende Änderungen vornimmst, erstelle eine Sicherungskopie Deiner Excel-Tabelle.


FAQ: Häufige Fragen

1. Wie kann ich in Excel eine Tabelle ohne Überschrift erstellen?
Du kannst eine neue Tabelle erstellen und die erste Zeile manuell löschen oder beim Einfügen der Daten keine Überschrift verwenden.

2. Wie kann ich eine Excel-Überschrift entfernen?
Um eine Überschrift zu entfernen, kannst Du die entsprechende Zeile einfach löschen oder den Inhalt löschen, ohne die Zeile selbst zu entfernen.

3. Was passiert, wenn ich den gesamten Tabellenbereich lösche?
Wenn Du den gesamten Tabellenbereich löschst, gehen alle Daten und die Überschrift verloren. Stelle sicher, dass Du nur die gewünschten Bereiche löschst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige