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

Forumthread: Zellenbereich löschen vba

Zellenbereich löschen vba
09.03.2017 11:43:31
Erik
Hallo zusammen,
was ist an folgendem Code falsch ?
Sub Test()
Sheets("Data").Select
Cells(65000, 1).End(xlUp).Offset(0, 0).Select
Range(Cells(Target.Row, 10), Cells(Target.Row, 12)).ClearContents
End Sub

Excel soll in die erste befüllte Zelle in Spalte A springen und dann Spalte 10-12 löschen.
Es funktioniert aber nicht: Laufzeitfehler 424 Objekt erforderlich.
Gruß
Erik
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellenbereich löschen vba
09.03.2017 11:51:36
Matthias
Hallo
Excel soll in die erste befüllte Zelle in Spalte A springen und dann Spalte 10-12 löschen.
Das stimmt ja schonmal nicht mit den Code überein.
Wo steht der Code denn?
Ein Modul wie Modul1 usw. kennt kein Target
dann musst Du ActiveCell benutzen
Gruß Matthias
Anzeige
AW: Zellenbereich löschen vba
09.03.2017 12:01:04
Erik
Hallo Matthias,
hast Recht der Code mit demn springen stimmt: ist die unterste befüllte Zelle.
Auch damit, das der Code in einem Modul steht, hast du Recht.
Sorry aber ich bin in VBA nicht fitt
Range(Cells(ActiveCell, 10), Cells(ActiveCell, 12)).ClearContents
geht auch nicht!
Wäre nett wenn Du mir sagen könntest wie es richtig heißen muß!
Vielen Dank
und Gruß
Erik
Anzeige
Cells(ActiveCell.Row, 10) ...
09.03.2017 12:11:13
Matthias
Hallo
Du hast die Zeilennummer (also .Row) nicht mit übergeben
Range(Cells(ActiveCell.Row, 10), Cells(ActiveCell.Row, 12)).ClearContents
Gruß Matthias
AW: Cells(ActiveCell.Row, 10) ...
09.03.2017 12:36:37
Erik
DANKE !
Gruß
Erik
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellenbereich in Excel mit VBA löschen


Schritt-für-Schritt-Anleitung

Um einen Zellenbereich in Excel mit VBA zu löschen, kannst du folgenden Code verwenden. Die Funktion springt zur letzten befüllten Zelle in Spalte A und löscht dann den Inhalt der Zellen in den Spalten 10 bis 12:

Sub Test()
    Sheets("Data").Select
    Cells(65000, 1).End(xlUp).Select
    Range(Cells(ActiveCell.Row, 10), Cells(ActiveCell.Row, 12)).ClearContents
End Sub

Erklärung des Codes:

  1. Sheets("Data").Select: Wechselt zum Arbeitsblatt mit dem Namen "Data".
  2. Cells(65000, 1).End(xlUp).Select: Springt zur letzten befüllten Zelle in Spalte A.
  3. Range(Cells(ActiveCell.Row, 10), Cells(ActiveCell.Row, 12)).ClearContents: Löscht den Inhalt der Zellen von Spalte 10 bis 12 in der Zeile der aktiven Zelle.

Häufige Fehler und Lösungen

Laufzeitfehler 424: Objekt erforderlich
Dieser Fehler tritt auf, wenn du versuchst, auf ein Objekt zuzugreifen, das nicht vorhanden ist. In deinem ursprünglichen Code fehlte der Verweis auf ActiveCell.Row. Stelle sicher, dass du den richtigen Verweis verwendest:

Range(Cells(ActiveCell.Row, 10), Cells(ActiveCell.Row, 12)).ClearContents

Alternative Methoden

Wenn du den Inhalt der Zellen in einem bestimmten Bereich löschen möchtest, kannst du auch die Methode Clear verwenden, um nicht nur den Inhalt, sondern auch die Formatierungen zu löschen:

Range("J1:L1").Clear

Hier wird der Inhalt sowie die Formatierung der Zellen J1 bis L1 gelöscht.


Praktische Beispiele

Beispiel 1: Löschen eines festen Bereichs
Wenn du einen festen Bereich löschen möchtest, kannst du folgenden Code verwenden:

Sub BereichLoeschen()
    Sheets("Data").Range("A1:C10").ClearContents
End Sub

Beispiel 2: Löschen basierend auf einer Bedingung
Um nur die Zellen zu löschen, die einen bestimmten Wert haben, kannst du eine Schleife verwenden:

Sub ZellinhaltLoeschenBedingt()
    Dim cell As Range
    For Each cell In Sheets("Data").Range("A1:A10")
        If cell.Value = "Löschen" Then
            cell.ClearContents
        End If
    Next cell
End Sub

Tipps für Profis

  • Verwende Variablen: Setze Variablen für häufig verwendete Bereiche, um deinen Code leserlicher zu machen.
  • Fehlerbehandlung: Implementiere Fehlerbehandlung in deinem VBA-Code, um unerwartete Fehler zu vermeiden.
  • Makros testen: Teste deine Makros immer in einer Kopie deiner Datei, um Datenverluste zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich einen gesamten Bereich in Excel VBA löschen?
Du kannst die Methode ClearContents verwenden, um den Inhalt eines bestimmten Bereichs zu löschen, z.B. Range("A1:B10").ClearContents.

2. Was ist der Unterschied zwischen Clear und ClearContents?
Clear entfernt sowohl den Inhalt als auch die Formatierung der Zellen, während ClearContents nur den Inhalt löscht und die Formatierung beibehält.

3. Wie kann ich den Inhalt einer bestimmten Zelle löschen?
Um den Inhalt einer bestimmten Zelle zu löschen, kannst du einfach Range("A1").ClearContents verwenden.

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