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

Forumthread: Zelleninhalte löschen ab bestimmter Zeile

Zelleninhalte löschen ab bestimmter Zeile
15.12.2012 10:09:07
Constantin
Hallo,
ich möchte in nachstehendem Programm noch die Einschränkung reinbringen, dass erst ab Zeile 7 alle Inhalte gelöscht werden.
Sub löschen()
dim zelle as range
Worksheets("Test").Activate
With ActiveSheet
For each zelle in .UsedRange
zelle.ClearContents
zelle.ClearFormats
zelle.ClearComments
Next zelle
End With
End Sub

Vielleicht noch eine zweite Frage:
Eine bestehende Zeile soll kopiert und direkt darunter eingefügt werden, wenn in Spalte 3 "AB" eingetragen ist und darauf ein Doppelklick erfolgt.
Vielen Dank für eure Hilfe.
Grüße, Constantin

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalte löschen ab bestimmter Zeile
15.12.2012 10:43:32
Luschi
Hallo Constantin,
die 1. Frage würde ich so erschlagen:

Sub loeschen()
Dim zellen As Range, n As Long
Worksheets("Test").Activate
With ActiveSheet
n = UsedRange.Cells(1, 1).Row
If n 
Gruß von Luschi
aus klein-Paris

AW: Zelleninhalte löschen - funktioniert!
15.12.2012 11:17:53
Constantin
... vielen Dank! Läuft außerdem superschnell durch (für meine Vorstellungen). Außerdem finde ich die erste Schleife sehr interessant. Für mich als Anfänger noch etwas zum Mitdenken und Nachvollziehen.
Grüße, Constantin
P.S.: Sollte Dir noch was zur zweiten Frage einfallen ....☺

Anzeige
AW: Zelleninhalte löschen ab bestimmter Zeile
15.12.2012 10:45:32
Gerd
Hallo Constantin!
Sub loeschen()
Dim Rng As Range
With Worksheets("Test")
.UsedRange.ClearFormats
.UsedRange.ClearComments
Set Rng = Intersect(.UsedRange, .Range("7:" & .Rows.Count))
End With
If Not Rng Is Nothing Then Rng.ClearContents: Set Rng = Nothing
End Sub
Gruß Gerd

Anzeige
AW: Zelleninhalte löschen ab bestimmter Zeile
15.12.2012 11:47:14
Constantin
Hallo Gerd,
vielen Dank auch für Deinen Vorschlag. Es sieht so aus, dass auch Inhalte/Formate oberhalb von Zeile 7 erfasst werden (d.h. kleiner 7). Welche Änderung müsste ich hier im Programm noch vornehmen?
Grüße, Constantin

AW: Zelleninhalte löschen ab bestimmter Zeile
15.12.2012 12:02:27
Gerd
Hallo Constantin,
deiner Antwort an Luschi entnehme ich, dass die ersten sechs Zeilen überhaupt nicht bearbeitet werden sollen; dann ggf. auch so:
Sub loeschen()
Dim Rng As Range
With Worksheets("Test")
Set Rng = Intersect(.UsedRange, .Range("7:" & .Rows.Count))
End With
If Not Rng Is Nothing Then Rng.Clear: Set Rng = Nothing
End Sub

Gruß Gerd

Anzeige
AW: Zelleninhalte löschen - Danke an euch
15.12.2012 12:15:14
Constantin
...perfekt.
Ich danke euch für die Unterstützung.
Grüße, Constantin
P.S.: Vielleicht stelle ich die zweite Frage besser separat ins Forum, da sie doch etwas anderes zum Inhalt hat.
Anzeige
Anzeige

Infobox / Tutorial

Zelleninhalte in Excel ab einer bestimmten Zeile löschen


Schritt-für-Schritt-Anleitung

Um in Excel alle Zeilen ab einer bestimmten Zeile zu löschen, kannst du ein VBA-Skript verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem du die Inhalte löschen möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf „VBAProject (dein Arbeitsblatt)“.
    • Wähle „Einfügen“ und dann „Modul“.
  4. Kopiere den folgenden Code in das Modul:

    Sub loeschen()
       Dim Rng As Range
       With Worksheets("Test")
           Set Rng = Intersect(.UsedRange, .Range("7:" & .Rows.Count))
       End With
       If Not Rng Is Nothing Then Rng.Clear: Set Rng = Nothing
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Führe das Makro aus:

    • Drücke ALT + F8, wähle „loeschen“ und klicke auf „Ausführen“.

Jetzt werden alle Inhalte ab Zeile 7 gelöscht. Du hast erfolgreich die Funktion „Excel Zelleninhalt löschen“ implementiert.


Häufige Fehler und Lösungen

  • Fehler: Das Makro löscht auch Inhalte über Zeile 7.

    • Lösung: Stelle sicher, dass der Bereich in der Intersect-Funktion korrekt definiert ist. Überprüfe, dass die Zeilennummern stimmen.
  • Fehler: Das Makro läuft nicht.

    • Lösung: Stelle sicher, dass das Makro in einem Modul und nicht in einem Arbeitsblatt oder einer Arbeitsmappe gespeichert ist.

Alternative Methoden

Neben VBA gibt es auch andere Methoden, um Inhalte ab einer bestimmten Zeile zu löschen:

  1. Manuelles Löschen:

    • Markiere die Zeilen ab der gewünschten Zeile, klicke mit der rechten Maustaste und wähle „Inhalte löschen“.
  2. Filter verwenden:

    • Setze einen Filter auf deine Daten und blende die Zeilen aus, die du nicht löschen möchtest. Lösche anschließend die sichtbaren Zeilen.

Praktische Beispiele

Hier sind einige Beispiele, wie du das Skript für verschiedene Szenarien anpassen kannst:

  • Alle Inhalte ab Zeile 10 löschen:

    Sub loeschen()
       Dim Rng As Range
       With Worksheets("Test")
           Set Rng = Intersect(.UsedRange, .Range("10:" & .Rows.Count))
       End With
       If Not Rng Is Nothing Then Rng.Clear: Set Rng = Nothing
    End Sub
  • Inhalte und Formate ab Zeile 5 löschen:

    Sub loeschen()
       Dim Rng As Range
       With Worksheets("Test")
           Set Rng = Intersect(.UsedRange, .Range("5:" & .Rows.Count))
           Rng.ClearContents
           Rng.ClearFormats
       End With
    End Sub

Tipps für Profis

  • Verwendung von ClearContents: Diese Methode löscht nur die Inhalte, behält jedoch die Formatierungen. Wenn du alles löschen möchtest, verwende Clear.
  • Backup erstellen: Erstelle vor dem Ausführen von Makros immer eine Sicherungskopie deiner Daten.
  • Makros sicher ausführen: Aktiviere Makros nur aus vertrauenswürdigen Quellen, um Sicherheitsrisiken zu vermeiden.

FAQ: Häufige Fragen

1. Frage
Wie kann ich das Löschen der Zelleninhalte an eine Bedingung knüpfen?
Antwort: Du kannst eine If-Bedingung im VBA-Code hinzufügen, um zu überprüfen, ob eine bestimmte Bedingung erfüllt ist, bevor du die Inhalte löschst.

2. Frage
Funktioniert das Skript in allen Excel-Versionen?
Antwort: Ja, das Skript sollte in allen modernen Excel-Versionen funktionieren, die VBA unterstützen. Achte darauf, dass das Arbeitsblatt den Namen „Test“ trägt oder passe den Namen im Code entsprechend an.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige