Suchdatum innerhalb eines Zeitraums prüfen und markieren
Schritt-für-Schritt-Anleitung
Um in Excel zu prüfen, ob ein Datum innerhalb eines bestimmten Zeitraums liegt und die entsprechenden Zeilen zu markieren, kannst du den folgenden VBA-Code verwenden. Der Code geht davon aus, dass das Startdatum in Spalte B und das Enddatum in Spalte C steht.
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke auf
Einfügen
und dann auf Modul
, um ein neues Modul zu erstellen.
- Kopiere den folgenden Code in das Modul:
Sub SearchDate()
Dim sSearch As Variant
Dim LR As Long, i As Long, Z1 As Long, Sp As Long, RNG As Range
Dim Treffer As Long
Z1 = 4 ' Werte ab dieser Zeile
Sp = 2 ' Spalte mit Datum
sSearch = InputBox("Suchdatum:", , Date)
If IsDate(sSearch) Then
sSearch = CDate(sSearch)
LR = Cells(Rows.Count, Sp).End(xlUp).Row ' letzte Zeile der Spalte
Set RNG = Cells(Z1, 1).Resize(LR - Z1 + 1, 5)
' Reset
RNG.Interior.Pattern = xlNone
For i = Z1 To LR
If (Cells(i, Sp) = sSearch And Cells(i, Sp).Offset(0, 1) = "") _
Or (Cells(i, Sp) = sSearch) _
Or (Cells(i, Sp) <= sSearch And Cells(i, Sp).Offset(0, 1) >= sSearch) Then
' gelb färben
With Intersect(RNG, Rows(i)).Interior
.Pattern = xlSolid
.Color = 65535
End With
Treffer = Treffer + 1 ' zählen
End If
Next
If Treffer > 0 Then
MsgBox "Fertig. Treffer= " & Treffer
Else
MsgBox "Kein Eintrag mit diesem Suchdatum!"
End If
Else
MsgBox "Ungültige Eingabe!"
End If
End Sub
- Schließe den VBA-Editor und kehre zu Excel zurück.
- Führe das Makro aus, indem du
ALT + F8
drückst, das Makro auswählst und auf Ausführen
klickst.
Damit wird überprüft, ob das eingegebene Datum innerhalb eines Zeitraums liegt und die entsprechenden Zeilen werden markiert.
Häufige Fehler und Lösungen
-
Fehler: "Ungültige Eingabe!"
- Stelle sicher, dass du ein gültiges Datum im Format
dd.mm.yyyy
eingibst.
-
Fehler: "Kein Eintrag mit diesem Suchdatum!"
- Überprüfe, ob das Datum in Spalte B oder C korrekt eingegeben wurde und dass Spalte B nicht leer ist.
-
Problem: Zeilen werden nicht korrekt markiert
- Achte darauf, dass die Datumsformate in Excel korrekt eingestellt sind. Beide Spalten müssen als Datum formatiert sein.
Alternative Methoden
Eine einfache Methode, um zu überprüfen, ob ein Datum innerhalb eines Zeitraums liegt, ist die Verwendung von Formeln in Excel:
- Formel:
=WENN(UND(A1>=B1; A1<=C1); "Innerhalb"; "Außerhalb")
- In diesem Fall steht A1 für das Suchdatum, B1 für das Startdatum und C1 für das Enddatum.
Praktische Beispiele
-
Beispiel 1: Du hast in Spalte B das Datum 05.03.2020
und in Spalte C das Datum 25.04.2020
. Wenn du das Datum 15.03.2020
suchst, wird die Zeile markiert, da es im Zeitraum liegt.
-
Beispiel 2: Wenn in Spalte B 01.01.2021
und in Spalte C kein Datum steht, wird nur die Zeile markiert, wenn das Suchdatum 01.01.2021
eingegeben wird.
Tipps für Profis
- Nutze die
Union
-Funktion, um mehrere Bereiche zu markieren und damit die Performance des Codes zu verbessern.
- Experimentiere mit weiteren Bedingungen, um spezifische Anforderungen zu erfüllen, beispielsweise das Filtern von Werten basierend auf anderen Spalten.
FAQ: Häufige Fragen
1. Wie kann ich den Code anpassen, um auch leere Enddaten zu berücksichtigen?
Füge eine Bedingung hinzu, die prüft, ob das Enddatum leer ist und nur das Startdatum vergleicht.
2. Kann ich die markierten Zeilen in ein anderes Blatt kopieren?
Ja, du kannst den Code erweitern, um die markierten Zeilen in ein anderes Arbeitsblatt zu kopieren, indem du den Copy
-Befehl verwendest.
3. Funktioniert dieser Code in allen Excel-Versionen?
Der VBA-Code sollte in den meisten modernen Excel-Versionen (Excel 2010 und höher) funktionieren. Achte darauf, dass die Makros aktiviert sind.