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

Forumthread: Zellen Inhalt via. VBA löschen

Zellen Inhalt via. VBA löschen
15.02.2016 15:18:43
linux
Hallo Zusammen,
ich möchte in einer Arbeitsmappe "H00" den Zelleninhalt von F15:F46 und H15:H46 löschen, ohne dass dabei die Formatierung verändert wird. Kann mir jemand der entsprechende VBA Code senden? Das Makro wird dann aus einer Combobox gestartet. Dass habe ich aber schon vorbereitet.
Vielen Dank und Gruss

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen Inhalt via. VBA löschen
15.02.2016 15:41:59
KlausF
Hallo linux,
z.b. so:
Sub Leeren()
With Worksheets("H00")
.Range("F15:F46").ClearContents
.Range("H15:H46").ClearContents
End With
End Sub
Gruß
Klaus

AW: Zellen Inhalt via. VBA löschen
15.02.2016 15:55:23
linux
Ich habe es hinbekommen:
'Inhalt Löschen

Sub StarteMakro_0()
Sheets("H00").Range("F15:F47").ClearContents
Sheets("H00").Range("H15:H47").ClearContents
End Sub

Eine weitere Frage, ist es möglich, dass die Mappe H00 als Variabel definiert wird? Das heisst egal wie die Mappe heisst, dass der "Löschbefehl" trotzdem funktioniert?

Anzeige
AW: Zellen Inhalt via. VBA löschen
15.02.2016 16:08:26
KlausF
Hallo linux,
mit Mappe meinst Du sicher das Blatt (Sheet).
Wenn das Makro jeweils aus dem aktiven Blatt gestartet werden soll dann
schreibe bei Deinem Makro
ActiveSheet.Range("F15:F47").ClearContents
usw.
Gruß
Klaus

AW: Zellen Inhalt via. VBA löschen
15.02.2016 16:12:34
linux
Vielen lieben Dank,
Es funktioniert.
Gruss Linux

Anzeige
AW: Zellen Inhalt via. VBA löschen
16.02.2016 08:00:38
Daniel
Hi
Man kann die beiden Zellbereiche auch in einer Range ansprechen:
ActiveSheet.Range("F15:F47,H15:H47").ClearContents

Gruß Daniel

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zelleninhalt mit VBA löschen


Schritt-für-Schritt-Anleitung

Um den Inhalt von Zellen in Excel via VBA zu löschen, kannst Du die ClearContents-Methode verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Deine Excel-Arbeitsmappe 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 VBA-Code ein:

    Sub Leeren()
       With Worksheets("H00")
           .Range("F15:F46").ClearContents
           .Range("H15:H46").ClearContents
       End With
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Du kannst das Makro jetzt über die Entwicklertools oder eine Schaltfläche ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs"

    • Lösung: Überprüfe, ob das Arbeitsblatt "H00" existiert. Achte darauf, dass der Name exakt übereinstimmt.
  • Fehler: Formatierung wird entfernt

    • Lösung: Verwende die Methode .ClearContents, um nur den Inhalt zu löschen und die Formatierung beizubehalten.

Alternative Methoden

Es gibt verschiedene Ansätze, um Zellen mit VBA zu löschen:

  1. Mit ActiveSheet:

    ActiveSheet.Range("F15:F46,H15:H46").ClearContents
  2. Mit einer Variablen für das Arbeitsblatt:

    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("H00")
    ws.Range("F15:F46").ClearContents
    ws.Range("H15:H46").ClearContents
  3. Bereich löschen ohne Select:

    Worksheets("H00").Range("F15:F46").ClearContents

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du VBA zum Löschen von Zellinhalten verwenden kannst:

  • Inhalt mehrerer Zellen löschen:

    Sub MehrereZellenLeeren()
       With ActiveSheet
           .Range("A1:A10").ClearContents
           .Range("B1:B10").ClearContents
       End With
    End Sub
  • Bestimmte Zellen löschen:

    Sub BestimmteZellenLoeschen()
       ActiveSheet.Range("A1, C1, E1").ClearContents
    End Sub

Tipps für Profis

  • Verwende Application.ScreenUpdating = False, um das Flackern beim Ausführen von Makros zu reduzieren:

    Application.ScreenUpdating = False
    ' Dein Code hier
    Application.ScreenUpdating = True
  • Fehlerbehandlung einfügen:

    On Error Resume Next
    ' Dein Löschcode hier
    On Error GoTo 0
  • Makros mit Tastenkombinationen verknüpfen: Du kannst eine Tastenkombination zuweisen, um Dein Makro schnell auszuführen.


FAQ: Häufige Fragen

1. Kann ich auch ganze Zeilen oder Spalten löschen? Ja, Du kannst .EntireRow oder .EntireColumn verwenden, um ganze Zeilen oder Spalten zu löschen:

ActiveSheet.Rows("1:10").ClearContents

2. Wie kann ich den Inhalt einer bestimmten Zelle löschen? Verwende den folgenden Code, um eine einzelne Zelle zu leeren:

ActiveSheet.Range("A1").ClearContents

3. Was passiert mit der Formatierung, wenn ich Zellen lösche? Wenn Du ClearContents verwendest, bleibt die Formatierung erhalten. Wenn Du .Delete verwendest, wird die gesamte Zelle, einschließlich der Formatierung, entfernt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige