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

Forumthread: Zellinhalte löschen wenn Datum älter

Zellinhalte löschen wenn Datum älter
Claudia
Hallo zusammen,
in den Spalten G bis N befinden sich Daten (beginnend ab Zeile 12 - Ende variabel)
NUn sollen die Zellen der Spalten G bis N der betreffenden Zeile geleert werden (Inhalt löschen), wenn das Datum älter als der 01.01.2005 ist (z.B. also löschen wenn 01.12.2004). Das Datum befindet sich immer in Spalte G.
Wer kann mir hierbei helfen?
Viele Grüße
Claudia
Anzeige

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

Betreff
Benutzer
Anzeige
Korrekur : Datum steht in Spalte K - sorry!
18.12.2010 18:38:04
Claudia
eventuell mit Daten-Filter? owT
18.12.2010 19:03:27
robert
Bitte miz VBA
18.12.2010 19:30:17
Claudia
Hallo Robert,
Datenfilter ist schlecht. Mir wäre an einer VBA-Lösung sehr gelegen.
Viele Grüße
Claudia
Anzeige
AW: Zellinhalte löschen wenn Datum älter
18.12.2010 19:36:35
Gerd
Hallo,
habe jetzt auch nicht recherchiert. :-)
Sub egal()
Dim lng As Long
For lng = 12 To Cells(Rows.Count, 11).End(xlUp).Row
If Cells(lng, 11) 

Gruß Gerd
Gerd: Vielen DAnk für den Code. :-)
18.12.2010 19:40:25
Claudia
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zellinhalte löschen bei älteren Daten in Excel


Schritt-für-Schritt-Anleitung

Um Zellinhalte zu löschen, wenn das Datum in Spalte K älter als der 01.01.2005 ist, kannst Du die folgende VBA-Lösung verwenden. So gehst Du vor:

  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 ZellinhalteLoeschen()
        Dim lng As Long
        For lng = 12 To Cells(Rows.Count, 11).End(xlUp).Row
            If Cells(lng, 11).Value < DateValue("01.01.2005") Then
                Range(Cells(lng, 7), Cells(lng, 14)).ClearContents
            End If
        Next lng
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Drücke ALT + F8, wähle ZellinhalteLoeschen und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: Der Code läuft nicht, weil sich die Daten nicht in der angegebenen Spalte befinden.

    • Lösung: Stelle sicher, dass die Daten in Spalte K sind, und passe die Spaltennummer im Code entsprechend an.
  • Fehler: Es passiert nichts, wenn der Code ausgeführt wird.

    • Lösung: Überprüfe, ob das Datum im richtigen Format vorliegt und dass es tatsächlich ältere Daten gibt.

Alternative Methoden

Wenn Du keine VBA-Lösung verwenden möchtest, kannst Du auch mit Filterfunktionen arbeiten:

  1. Markiere die gesamte Tabelle.
  2. Gehe zu Daten und klicke auf Filter.
  3. Setze einen Filter auf Spalte K und wähle Benutzerdefiniertes Filtern.
  4. Wähle Datum vor und gib 01.01.2005 ein.
  5. Markiere die gefilterten Zeilen und drücke Entf, um die Inhalte zu löschen.

Diese Methode ist weniger automatisiert, eignet sich aber gut für geringe Datenmengen.


Praktische Beispiele

Angenommen, Deine Daten in Excel sehen so aus:

G H I J K L M N
... ... ... ... 01.12.2004 ... ... ...
... ... ... ... 15.03.2005 ... ... ...

Nach der Ausführung des VBA-Codes würden die Inhalte der Zeile mit dem Datum 01.12.2004 in den Spalten G bis N gelöscht werden.


Tipps für Profis

  • Automatisierung: Du kannst den Code so anpassen, dass er automatisch beim Öffnen der Datei ausgeführt wird, indem Du ihn in das Workbook_Open-Ereignis einfügst.
  • Datensicherung: Erstelle immer eine Sicherungskopie Deiner Daten, bevor Du Massenänderungen vornimmst.
  • Testlauf: Führe den Code zunächst in einer Testumgebung mit Beispieldaten aus, um sicherzustellen, dass er wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, wenn sich das Datum in einer anderen Spalte befindet?
Du musst die Spaltennummer im Code ändern, z.B. statt Cells(lng, 11) die entsprechende Zahl für die neue Spalte verwenden.

2. Funktioniert der Code auch in Excel 365?
Ja, der Code ist mit Excel 365 und anderen Versionen kompatibel, solange VBA unterstützt wird.

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