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

Forumthread: bestimmten Zelleninhalt löschen ?

bestimmten Zelleninhalt löschen ?
30.01.2007 14:34:10
Selma
Hallo Excel-Freunde,
ich möchte ein vorhandenes Makro mit eine weitere Funktion erweitern.
Wenn in aktivem Arbeitsblatt dieser Text "Mit freundlichen Grüssen" auftaucht,
dann soll dieser und die Zelleninhalten weiteren 10 Zeilen gelöscht werden.
Wie mache ich das?
Vielen Dank im Voraus...
Liebe Grüße
Selma
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen und löschen
30.01.2007 15:33:29
Erich
Hallo Selma,
das ginge z. B. so:
Option Explicit
Sub Gruesse_loeschen()
Dim rngF As Range
Set rngF = Cells.Find(What:="Mit freundlichen Grü*en", _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
Do While Not rngF Is Nothing
rngF.Clear ' oder ClearContents
Range(Rows(rngF.Row + 1), Rows(rngF.Row + 10)).Delete ' oder Clear oder ClearContents
' oder
' Range(Rows(rngF.Row), Rows(rngF.Row + 10)).Delete     ' oder Clear oder ClearContents
Set rngF = Cells.Find(What:="Mit freundlichen Grü*en", _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
Loop
End Sub
Ob du Delete, Clear oder ClearContents verwendest, haängt davon ab, was du hier unter "löschen" verstehst.
Das auskommentierte Range(Rows... kannst du anstelle der beiden über dem ' oder stehenden Löschzeilen verwenden,
wenn die ganze Zeile, in der die Grüße stehen, gelöscht werden soll.
"Grü*en" habe ich mit Stern geschrieben - falls mal jemand das falsche Grüssen durch "Grüßen" ersetzt hat.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Suchen und löschen
30.01.2007 16:14:37
Selma
Hallo Erich,
es funktioniert wie gewollt.
VIELEN DANK NOCHMAL.....
LG
Selma

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zelleninhalt in Excel löschen: Ein praktischer Leitfaden


Schritt-für-Schritt-Anleitung

Um in Excel Zelleninhalte zu löschen, wenn ein bestimmter Wert vorhanden ist, kannst du ein VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, um dein eigenes Makro zu erstellen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Option Explicit
    Sub Gruesse_loeschen()
       Dim rngF As Range
       Set rngF = Cells.Find(What:="Mit freundlichen Grü*en", _
                             LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
                             SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
       Do While Not rngF Is Nothing
           rngF.Clear ' oder ClearContents
           Range(Rows(rngF.Row + 1), Rows(rngF.Row + 10)).Delete ' oder Clear oder ClearContents
           Set rngF = Cells.Find(What:="Mit freundlichen Grü*en", _
                                 LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
                                 SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
       Loop
    End Sub
  4. Passe den Text "Mit freundlichen Grü*en" nach Bedarf an.

  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus, indem du auf Entwicklertools > Makros klickst und das soeben erstellte Makro auswählst.

Damit wird der Inhalt der Zelle gelöscht, die den spezifischen Text enthält, sowie die darauf folgenden 10 Zeilen.


Häufige Fehler und Lösungen

  • Fehler: Makro wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Sicherheit und aktiviere die Makros.
  • Fehler: Das Suchwort wird nicht gefunden.

    • Lösung: Überprüfe den eingegebenen Text auf Tippfehler oder unterschiedliche Schreibweisen.
  • Fehler: Zellen werden nicht gelöscht.

    • Lösung: Stelle sicher, dass du die richtige Methode (Clear, ClearContents oder Delete) verwendest, je nach gewünschtem Ergebnis.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du auch die Funktion „Suchen und Ersetzen“ verwenden:

  1. Drücke Strg + F, um das Suchfenster zu öffnen.
  2. Gib den Text ein, den du löschen möchtest.
  3. Klicke auf „Ersetzen“ und lasse das Feld für „Ersetzen durch“ leer.
  4. Klicke auf „Alle ersetzen“.

Diese Methode ist jedoch nur sinnvoll, wenn du manuell die Zelleninhalte löschen möchtest und keine weiteren Zeilen entfernen musst.


Praktische Beispiele

Hier einige Beispiele, wie du den VBA-Code anpassen kannst, um andere Zelleninhalte zu löschen:

  • Beispiel 1: Löschen von Zelleninhalten, die „Vertraulich“ enthalten:

    Set rngF = Cells.Find(What:="Vertraulich", LookIn:=xlValues, LookAt:=xlPart)
  • Beispiel 2: Löschen von Zelleninhalten und zwei zusätzliche Zeilen:

    Range(Rows(rngF.Row + 1), Rows(rngF.Row + 2)).Delete

Tipps für Profis

  • Vermeide unnötige Schleifen, indem du die Anzahl der zu durchsuchenden Zellen reduzierst.
  • Nutze die Option Explicit Direktive, um sicherzustellen, dass alle Variablen deklariert sind.
  • Teste dein Makro zuerst in einer Kopie deiner Datei, um ungewollte Datenverluste zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich Zelleninhalt löschen, wenn ein bestimmter Wert vorhanden ist?
Verwende ein Makro, das die Find-Methode nutzt, um die Zellen zu suchen und den Inhalt zu löschen.

2. Kann ich den Code für verschiedene Excel-Versionen verwenden?
Ja, der obige Code funktioniert in den meisten modernen Excel-Versionen, die VBA unterstützen.

3. Was ist der Unterschied zwischen Clear und Delete?
Clear entfernt den Inhalt der Zelle, während Delete die gesamte Zelle oder Zeile entfernt und den Platz in der Tabelle verschiebt.

4. Wie kann ich mehrere Werte gleichzeitig überprüfen?
Du kannst die Find-Methode in einer Schleife für jeden gewünschten Wert verwenden.

5. Ist es möglich, das Makro an einen Button zu binden?
Ja, du kannst einen Button in Excel einfügen und das Makro daran zuweisen, um es einfacher auszuführen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige