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

Forumthread: Wenn Zelle leer, Nachbarzellen Inhalt löschen

Wenn Zelle leer, Nachbarzellen Inhalt löschen
21.01.2013 20:41:35
Burghard
Hallo,
ich habe in einer Tabelle einige tausend Daten, ich brauche ein Makro, das diese Bedingung erledigt:
Immer wenn in Spalte J eine Zelle leer ist, dann soll der Inhalt der Nachbarzelle in F und G gelöscht werden.
Schön wäre es, wenn das Ganze mit UsedRange funktionieren würde.
Hilfe wäre nett.
Grüße Burghard

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Wenn Zelle leer, Nachbarzellen Inhalt löschen
21.01.2013 20:52:54
Matthias
Hallo
Dim X As Long
For X = 1 To Cells(Rows.Count, 10).End(xlUp).Row
If Cells(X, 10) = "" Then
Cells(X, 6).ClearContents
Cells(X, 7).ClearContents
End If
Next
Gruß Matthias

AW: Funktioniert
21.01.2013 22:49:37
Burghard
Hallo Matthias,
funktioniert wie gewünscht! Danke!
Grüße Burghard
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Nachbarzellen löschen, wenn Zelle leer ist


Schritt-für-Schritt-Anleitung

Um sicherzustellen, dass der Inhalt der Nachbarzellen in den Spalten F und G gelöscht wird, wenn in Spalte J eine Zelle leer ist, kannst du ein einfaches VBA-Makro erstellen. Folge diesen Schritten:

  1. Öffne deine Excel-Datei.

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

  3. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  4. Kopiere und füge den folgenden Code in das Modul ein:

    Sub LeereNachbarzellenLoeschen()
        Dim X As Long
        For X = 1 To Cells(Rows.Count, 10).End(xlUp).Row
            If Cells(X, 10) = "" Then
                Cells(X, 6).ClearContents
                Cells(X, 7).ClearContents
            End If
        Next
    End Sub
  5. Schließe den VBA-Editor.

  6. Führe das Makro aus, indem du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.

Das Makro überprüft jede Zelle in Spalte J und löscht den Inhalt der entsprechenden Zellen in Spalte F und G, wenn eine Zelle in J leer ist.


Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass du das Makro korrekt erstellt und gespeichert hast. Überprüfe auch, ob Makros in deinen Excel-Einstellungen aktiviert sind.
  • Fehler: Es werden nicht alle Daten bearbeitet.

    • Lösung: Achte darauf, dass die Daten in Spalte J durchgehend sind und keine leeren Zeilen zwischen den Daten existieren.

Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch die Funktion WENN mit ISTLEER verwenden, um in einer Hilfsspalte anzuzeigen, ob die Zellen in F und G leer sein sollten. Ein Beispiel könnte so aussehen:

  1. In Zelle F1 schreibst du:
    =WENN(ISTLEER(J1); ""; F1)
  2. In Zelle G1 schreibst du das Gleiche:
    =WENN(ISTLEER(J1); ""; G1)

Jedoch wird diese Methode den Inhalt nicht löschen, sondern nur anzeigen, ob er gelöscht werden sollte.


Praktische Beispiele

Angenommen, du hast in Spalte J folgende Daten:

J F G
Text1 TextA
X Text2 TextB
Text3 TextC
Y Text4 TextD

Nach dem Ausführen des Makros wird das Ergebnis so aussehen:

J F G
X Text2 TextB
Y Text4 TextD

Tipps für Profis

  • Effizienz: Nutze UsedRange, um die Leistung des Makros zu optimieren, indem du nur den tatsächlich genutzten Bereich durchsuchst.
  • Backup: Erstelle vor dem Ausführen von Makros immer eine Sicherungskopie deiner Excel-Datei, um Datenverlust zu vermeiden.
  • Automatisierung: Du kannst das Makro sogar so einstellen, dass es automatisch beim Öffnen der Datei ausgeführt wird, indem du die Workbook_Open-Ereignisprozedur verwendest.

FAQ: Häufige Fragen

1. Kann ich das Makro auf andere Spalten anwenden?
Ja, du kannst die Spaltenindizes im Code anpassen, um das Makro für andere Spalten zu verwenden.

2. Wie kann ich das Makro speichern, um es in Zukunft wiederzuverwenden?
Speichere deine Excel-Datei im Format .xlsm, um die Makros zu erhalten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige