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

Forumthread: Bestimmte Zellen löschen mit VBA

Bestimmte Zellen löschen mit VBA
24.11.2004 14:59:08
Tom
Hallo liebe Excel Helfer,
ich habe leider nichts passendes im Archiv gefunden und wende mich jetzt an Euch.
Ich habe eine Tabelle, deren Zeilenlänge sich ständig ändert.
In dieser Tabelle sind zwei Spalten, die "voll mit unnötigen Daten" sind. Es handelt sich dabei um Spalte I und Spalte J.
Kann mir jemand mit einem kleinen Makro helfen, welches den Inhalt dieser Zellen in Spalte I und J ab der zweiten Zeile bis zur vorletzten Zeile löscht.
Die erste und letzte Zeile MUSS stehen bleiben. Mit meinem Makrorecorder komme ich leider nicht zum Ziel.
Vorab schon einmal vielen Dank für Eure Mühen.
Gruß
Tom
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte Zellen löschen mit VBA
24.11.2004 15:04:26
Chris
Hi Tom

Sub Zellenloeschen()
dim Zelle1 as variant, Zelle1 as variant
zelle1 = cells(1,9).value
zelle2 = cells(1,10).value
activeworkbook.columns(9).clearcontents
activeworkbook.columns(10).clearcontents
cells(1,9).value = zelle1
cells(1,10).value = zelle2
End Sub

... ist nicht die beste Lösung, aber einfach nachzuvollziehen
Gruss
Chris
Anzeige
AW: Laufzeitfehler 438
24.11.2004 15:46:18
Tom
Hallo Chris,
habe in Zeile 2 wie folgt geändert
VORHER Dim Zelle1 As Variant, Zelle1 As Variant
NACHHER Dim Zelle1 As Variant, Zelle2 As Variant
aber erhalte folgende Fehlermeldung Laufzeitfehler 438 Objekt unterstützt diese Eigenschaft oder Methode nicht
Kannst Du weiterhelfen?
Gruß
Tom
Anzeige
AW: Bestimmte Zellen löschen mit VBA
Dr.
Für Spalte A:

Sub test()
For i = (ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row) - 1 To 2 Step -1
Cells(i, 1).Clear
Next i
End Sub

AW: Variable nicht definiert
24.11.2004 15:47:42
Tom
Hallo Dr.
erhalte beim kompilieren leider die Fehlermeldung
Variable nicht definiert.
Kanst Du weiterhelfen?
Gruß
Tom
Anzeige
AW: Variable nicht definiert
EtoPHG

Sub test()
Dim i as single
For i = (ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row) - 1 To 2 Step -1
Cells(i, 1).Clear
Next i
End Sub

Gruss Hansueli
Danke
24.11.2004 16:37:07
Tom
Hallo Hansueli,
funktioniert jetzt prima.
Gruß
Tom
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Bestimmte Zellen mit VBA löschen


Schritt-für-Schritt-Anleitung

Um bestimmte Zellen in Excel mithilfe von VBA zu löschen, kannst Du folgendes Makro verwenden. In diesem Beispiel werden die Inhalte der Spalten I und J ab der zweiten Zeile bis zur vorletzten Zeile gelöscht, während die erste und letzte Zeile erhalten bleibt:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Sub ZellenLoeschen()
    Dim i As Long
    For i = Cells(Rows.Count, 9).End(xlUp).Row - 1 To 2 Step -1
        Cells(i, 9).ClearContents ' Spalte I
        Cells(i, 10).ClearContents ' Spalte J
    Next i
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Um das Makro auszuführen, drücke ALT + F8, wähle ZellenLoeschen aus der Liste und klicke auf Ausführen.

Damit werden die gewünschten Zellen in den Spalten I und J gelöscht.


Häufige Fehler und Lösungen

  • Laufzeitfehler 438: Dieser Fehler tritt häufig auf, wenn ein Objekt nicht unterstützt wird. Stelle sicher, dass alle Variablen korrekt deklariert sind. Ändere z. B. Dim Zelle1 As Variant, Zelle1 As Variant zu Dim Zelle1 As Variant, Zelle2 As Variant.

  • Variable nicht definiert: Achte darauf, dass alle Variablen vor der Verwendung deklariert sind. Wenn Du Dim i As Single verwendest, stelle sicher, dass Du i im Code auch richtig nutzt.


Alternative Methoden

Neben dem oben genannten Makro kannst Du auch die Funktion ClearContents für ganze Spalten verwenden. Das folgende Makro löscht die Inhalte in den Spalten I und J:

Sub SpaltenLeeren()
    Columns(9).ClearContents ' Spalte I
    Columns(10).ClearContents ' Spalte J
End Sub

Dieses Makro entfernt jedoch alle Inhalte in den Spalten und nicht nur in einem bestimmten Bereich.


Praktische Beispiele

Hier sind einige praktische Anwendungsbeispiele für das Löschen von Zellen mit VBA:

  1. Einzelne Zelle löschen:
Sub ZelleLoeschen()
    Cells(2, 9).ClearContents ' Löscht den Inhalt der Zelle in Zeile 2, Spalte I
End Sub
  1. Zellbereich löschen:
Sub ZellbereichLoeschen()
    Range("I2:J10").ClearContents ' Löscht den Inhalt der Zellen von I2 bis J10
End Sub

Diese Varianten geben Dir mehr Flexibilität beim Löschen von Zellen in Excel.


Tipps für Profis

  • Nutze die Möglichkeit, Bedingungen in Deine VBA-Logik einzubauen. So kannst Du z. B. nur Zellen löschen, die bestimmte Kriterien erfüllen.
  • Verwende Application.ScreenUpdating = False am Anfang Deines Makros, um die Leistung zu verbessern, und setze es am Ende wieder auf True.
  • Teste Deine Makros immer in einer Kopie Deiner Datei, um unbeabsichtigte Datenverluste zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich ein Makro speichern, damit ich es später wiederverwenden kann?
Du kannst die Datei als Excel-Arbeitsmappe mit Makros (*.xlsm) speichern, um sicherzustellen, dass Deine Makros erhalten bleiben.

2. Was ist der Unterschied zwischen ClearContents und Delete?
ClearContents entfernt nur den Inhalt der Zelle, während Delete die Zelle selbst entfernt und die darunter liegenden Zellen nach oben verschiebt.

3. Kann ich auch Zellen basierend auf einem bestimmten Wert löschen?
Ja, Du kannst eine Schleife verwenden, um Zellen zu prüfen und nur die Zellen zu löschen, die einen bestimmten Wert enthalten.

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