Nur Monat und Jahr in Excel vergleichen
Schritt-für-Schritt-Anleitung
Um nur Monat und Jahr aus einem Datum in Excel zu vergleichen, kannst du die folgenden Schritte befolgen:
-
Hilfsspalten einfügen: Füge in deiner Excel-Tabelle zwei Hilfsspalten hinzu. Eine für das Jahr und eine für den Monat. Zum Beispiel:
- Spalte B: Jahr
- Spalte C: Monat
-
Formeln einfügen: Verwende die folgenden Formeln in den Hilfsspalten (angenommen, deine Datumswerte beginnen in A2):
- In Zelle B2:
=JAHR(A2)
- In Zelle C2:
=MONAT(A2)
-
Ziehen der Formeln: Ziehe die Formeln nach unten, um die Werte in der gesamten Spalte zu berechnen.
-
VBA-Makro erstellen: Erstelle ein Makro, das die Hilfsspalten überprüft. Hier ist ein Beispielcode:
Private Sub CommandButton1_Click()
Dim WkSh As Worksheet
Dim lzeile As Long
Dim rZelle As Range
Dim sFundst As String
Set WkSh = ThisWorkbook.Worksheets("Tabelle1")
For lzeile = 2 To WkSh.Cells(WkSh.Rows.Count, 1).End(xlUp).Row
If IsDate(WkSh.Range("A" & lzeile).Value) Then
WkSh.Range("B" & lzeile).Value = Year(WkSh.Range("A" & lzeile).Value)
WkSh.Range("C" & lzeile).Value = Month(WkSh.Range("A" & lzeile).Value)
End If
Next lzeile
' Suche nach Jahr und Monat
With WkSh.Columns(2)
Set rZelle = .Find(What:=Year(CDate(ComboBox1.Value)), LookAt:=xlWhole, LookIn:=xlValues, After:=.Cells(.Cells.Count))
If Not rZelle Is Nothing Then
sFundst = rZelle.Address
Do
If Month(CDate(ComboBox1.Value)) = WkSh.Range("C" & rZelle.Row) Then
MsgBox "gefunden in Zeile " & rZelle.Row
End If
Set rZelle = .FindNext(rZelle)
Loop While Not rZelle Is Nothing And rZelle.Address <> sFundst
End If
End With
End Sub
-
Anpassen des Codes: Passe den Code an deine Bedürfnisse an, insbesondere den Namen der Tabelle und die ComboBox.
Häufige Fehler und Lösungen
-
Fehler: Falsches Datum in der ComboBox
Lösung: Stelle sicher, dass das Datum in der ComboBox im richtigen Format vorliegt (z. B. TT.MM.JJJJ).
-
Fehler: Kein Treffer gefunden
Lösung: Überprüfe, ob die Hilfsspalten korrekt gefüllt sind und das Datum in Spalte A gültig ist.
Alternative Methoden
Eine alternative Methode besteht darin, die Daten in einer PivotTable zu analysieren. Hierbei kannst du die Datumswerte nach Jahr und Monat gruppieren, ohne VBA verwenden zu müssen.
- Wähle die Daten aus, die du analysieren möchtest.
- Gehe zu
Einfügen > PivotTable
.
- Füge das Datum in die Zeilenbereiche ein und gruppiere es nach Jahr und Monat.
Praktische Beispiele
Angenommen, du hast folgende Daten in Spalte A:
A |
01.01.2022 |
15.02.2022 |
10.03.2022 |
Die Hilfsspalten füllen sich dann wie folgt:
A |
B |
C |
01.01.2022 |
2022 |
1 |
15.02.2022 |
2022 |
2 |
10.03.2022 |
2022 |
3 |
Wenn du nun den Monat und das Jahr aus der ComboBox (z. B. 01.01.2022) vergleichst, wird die MsgBox für die erste Zeile angezeigt.
Tipps für Profis
- Datenvalidierung: Verwende die Datenvalidierungsfunktion in Excel, um sicherzustellen, dass nur gültige Datumsangaben in die ComboBox eingegeben werden.
- Leistungsoptimierung: Wenn du mit großen Datenmengen arbeitest, verwende Arrays zur Verarbeitung anstelle von Zellen direkt, um die Leistung zu verbessern.
FAQ: Häufige Fragen
1. Wie kann ich sicherstellen, dass die Datumswerte korrekt formatiert sind?
Überprüfe die Zellenformatierung und stelle sie auf "Datum" ein.
2. Ist es notwendig, Hilfsspalten zu verwenden?
Es ist nicht zwingend erforderlich, aber Hilfsspalten erleichtern die Handhabung und den Vergleich der Daten.
3. Kann ich das Makro auch für andere Datenformate verwenden?
Ja, du kannst das Makro anpassen, um andere Datenformate zu verarbeiten, achte jedoch darauf, die Datumsfunktionen entsprechend zu ändern.