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

Forumthread: Zeilen löschen, wenn Datum kleiner als heute

Zeilen löschen, wenn Datum kleiner als heute
18.06.2007 22:51:00
Scheinchen
Hallo,
ich bin auf der Suche nach einem kleinen Modul. Wahrscheinlich ist das wieder so ein Dim-Teil und da hören meine Makro-Rekorder-Kenntnisse leider schon auf.
Ich habe einen Bereich einer Spalte markiert, sagen wir 5 Zellen. In jeder Zelle steht ein Datum.
Aufgabe ist, nur aus diesem Bereich die komplette Zeile zu löschen, wenn das Datum kleiner als heute ist.
Auch das heutige Datum soll gelöscht werden. Ist das schwierig?
Wäre echt super, wenn ich hier eine Lösung bekomme.
Bis denne,
Larissa

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen, wenn Datum kleiner als heute
18.06.2007 22:59:00
chris
Hallo , das könntest du so erreichen.
Option Explicit

Sub neu()
Dim sel As Range
neu:
For Each sel In Selection
If sel.Value  "" Then
sel.Rows.Delete
GoTo neu
Else
End If
Next
End Sub


gruß Christian
Rückmeldung wäre nett !

Anzeige
AW: Zeilen löschen, wenn Datum kleiner als heute
19.06.2007 07:05:48
Scheinchen
Danke Christian,
das funktioniert super! Ich musste nur aus 'sel.Rows.Delete' 'sel.EntireRow.Delete' machen, weil ich die ganze Zeile löschen wollte. Aber das habe ich sogar selber rausgefunden. *stolz
1000 Dank noch mal!
Lieben Gruß, Lairssa
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zeilen löschen, wenn Datum kleiner als heute


Schritt-für-Schritt-Anleitung

Um Zeilen in Excel zu löschen, wenn das Datum kleiner als das heutige Datum ist, kannst du ein einfaches VBA-Skript verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie du das machst:

  1. Excel öffnen und die Datei, mit der du arbeiten möchtest, laden.

  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

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

  4. Kopiere den folgenden Code in das Modul:

    Sub ZeilenLoeschen()
       Dim sel As Range
       Dim heute As Date
       heute = Date
    
       For Each sel In Selection
           If IsDate(sel.Value) And sel.Value < heute Then
               sel.EntireRow.Delete
           End If
       Next sel
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu deinem Excel-Blatt.

  6. Markiere die Zellen, die die Daten enthalten, die du überprüfen möchtest.

  7. Drücke ALT + F8, wähle ZeilenLoeschen aus und klicke auf Ausführen.

Dieses Skript überprüft jede markierte Zelle, und wenn das Datum kleiner als das heutige Datum ist, wird die gesamte Zeile gelöscht.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 13: Typen unverträglich"

    • Lösung: Stelle sicher, dass die Zellen, die du überprüfst, tatsächlich Datumswerte enthalten. Du kannst dies überprüfen, indem du die Zellen formatierst.
  • Fehler: "Das Skript entfernt nicht die gesamte Zeile"

    • Lösung: Achte darauf, dass du sel.EntireRow.Delete verwendest, um sicherzustellen, dass die komplette Zeile gelöscht wird.

Alternative Methoden

Wenn du keine VBA-Programmierung verwenden möchtest, kannst du die folgende Methode nutzen:

  1. Wähle die Spalte mit den Datumswerten aus.
  2. Gehe auf Daten und dann auf Filter.
  3. Setze einen Filter auf die Datenspalte und wähle Benutzerdefinierter Filter.
  4. Wähle "kleiner als" und gib =HEUTE() ein.
  5. Lösche die gefilterten Zeilen manuell.

Diese Methode ist weniger automatisiert, funktioniert aber gut, wenn du nur gelegentlich Daten löschen musst.


Praktische Beispiele

Angenommen, du hast in Spalte A folgende Daten:

A
01.01.2023
15.03.2023
10.10.2022
20.12.2023

Wenn das heutige Datum der 10.10.2023 ist, wird nach dem Ausführen des Skripts die Zeile mit dem Datum 10.10.2022 gelöscht, da es kleiner als das heutige Datum ist.


Tipps für Profis

  • Nutze die Tastenkombinationen in Excel, um schneller zu arbeiten. Zum Beispiel kannst du mit CTRL + SHIFT + L Filter aktivieren oder deaktivieren.
  • Teste dein VBA-Skript immer zuerst mit einer Kopie deiner Daten, um unbeabsichtigte Löschungen zu vermeiden.
  • Verwende Bedingte Formatierung, um Datumswerte hervorzuheben, die kleiner als das heutige Datum sind. So siehst du auf einen Blick, welche Zeilen betroffen sind.

FAQ: Häufige Fragen

1. Wie kann ich das Skript anpassen, um nur bestimmte Zeilen zu löschen? Du kannst die Bedingung im If-Statement anpassen, um spezifische Zeilen basierend auf weiteren Kriterien zu löschen.

2. Funktioniert das auch in Excel für Mac? Ja, die VBA-Programmierung funktioniert sowohl in der Windows- als auch in der Mac-Version von Excel, solange du den VBA-Editor nutzen kannst.

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