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

Forumthread: VBA: Countif wenn Datum aktueller als...

VBA: Countif wenn Datum aktueller als...
22.04.2016 10:00:24
Pasta
Hallo zusammen,
Von Zelle B1 bis B20 soll gezählt werden wie oft das eingetragene Datum aktueller ist, als das Datum welches hinter der Variablen "letztedatum" hinterlegt ist.
"letztedatum" ist als Date deklariert und die Splate B ist als Datum formatiert (z.B. 24.12.2015).
Die auszuwertende Datei ist ziemlich groß (B1 bis B20 soll nur der Vereinfachlichung dienen), deswegen habe ich versucht Schleifen zu umgehen und mit Countif zu arbeiten. Kann man mein Anliegen mit Countif umsetzen?
Gruß und Danke im Voraus für eure Antworten

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA: Countif wenn Datum aktueller als...
22.04.2016 10:13:45
Werner
Hallo,
muss es unbedingt ein Makro sein? Das lässt sich doch mit einer einfachen Formel lösen.
Geprüft wird der Bereich B1 bis B20, das Datum auf das geprüft wird steht in A1
=ZÄHLENWENN(B1:B20;"<"&A1)
Gruß Werner

AW: VBA: Countif wenn Datum aktueller als...
22.04.2016 10:21:55
Pasta
Hallo Werner,
Die Formel soll teil eines großen Makros werden.
Ich habe versucht die Formel wie folgt aufzubauen, allerdings funktioniert der Vergleich am Ende der Formel nicht.
Sheets("A1").Cells(81, 3) = Application.WorksheetFunction.CountIf(..., ">" & letztedatum)
Gruß

Anzeige
AW: VBA: Countif wenn Datum aktueller als...
22.04.2016 10:14:41
Daniel
Hi
probier mal:
x = Worksheetfunction.CountIf(Range("B1:B20"), ">" & Clng(letztedatum))
Gruß Daniel

AW: VBA: Countif wenn Datum aktueller als...
22.04.2016 10:23:52
Pasta
Hallo Daniel so funktioniert das prima. Tausend Dank!!!!!!!

AW: VBA: Countif wenn Datum aktueller als...
22.04.2016 10:15:35
Werner
Hallo,
ich nochmal. In der Formel wird auf kleiner () prüfen, einfach tauschen.
Gruß Werner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
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

VBA: Countif für Datumsvergleiche nutzen


Schritt-für-Schritt-Anleitung

  1. Deklariere die Variable für das Datum: Stelle sicher, dass die Variable letztedatum als Date deklariert ist.

    Dim letztedatum As Date
    letztedatum = DateValue("24.12.2015") ' Beispielwert
  2. Verwende die CountIf-Funktion: Du kannst die Application.WorksheetFunction.CountIf-Methode nutzen, um zu zählen, wie viele Daten in einem bestimmten Bereich nach dem letztedatum liegen.

    Dim anzahl As Long
    anzahl = Application.WorksheetFunction.CountIf(Sheets("Sheet1").Range("B1:B20"), ">" & letztedatum)
  3. Ergebnis ausgeben: Du kannst das Ergebnis jetzt in eine Zelle schreiben.

    Sheets("Sheet1").Cells(81, 3).Value = anzahl
  4. Testen: Führe das Makro aus und überprüfe, ob die Zelle den richtigen Wert anzeigt.


Häufige Fehler und Lösungen

  • Fehler: Ungültige Formel oder Syntax: Stelle sicher, dass die Vergleichsoperatoren korrekt sind. Verwende ">" für Datumsvergleiche.
  • Lösung: Wenn Du den Vergleich vertauscht hast (z.B. < statt >), wird das Ergebnis nicht korrekt sein. Überprüfe die Formel in deinem VBA-Code.

Alternative Methoden

Falls Du nicht mit VBA arbeiten möchtest, kannst Du auch die Excel-Formel ZÄHLENWENN verwenden, um die Zählung direkt im Arbeitsblatt durchzuführen:

=ZÄHLENWENN(B1:B20;">"&A1)

Hierbei steht A1 für das Datum, mit dem Du vergleichen möchtest.


Praktische Beispiele

Hier ein konkretes Beispiel für die Verwendung von CountIf in VBA:

Sub CountDates()
    Dim letztedatum As Date
    Dim anzahl As Long

    letztedatum = DateValue("01.01.2020") ' Beispielwert
    anzahl = Application.WorksheetFunction.CountIf(Sheets("Daten").Range("B1:B20"), ">" & letztedatum)

    Sheets("Daten").Cells(81, 3).Value = anzahl
End Sub

In diesem Beispiel wird gezählt, wie viele Daten in Spalte B nach dem 01.01.2020 liegen und das Ergebnis wird in Zelle C81 ausgegeben.


Tipps für Profis

  • Verwende CountIfs für mehrere Kriterien: Wenn Du mehrere Bedingungen prüfen möchtest, kannst Du die CountIfs-Funktion verwenden.
  • Optimierung der Leistung: Bei großen Datenmengen kann die Verwendung von vba application.countif schneller sein als herkömmliche Excel-Formeln, da sie direkt auf die Daten zugreift.

FAQ: Häufige Fragen

1. Kann ich CountIf für mehrere Datumsbereiche nutzen?
Ja, dafür solltest Du CountIfs verwenden, um mehrere Bedingungen zu prüfen.

2. Was passiert, wenn ich das Datum in einem anderen Format speichere?
Achte darauf, dass das Datum im richtigen Format gespeichert wird, da sonst die Vergleichsoperationen fehlschlagen können. Nutze DateValue, um sicherzustellen, dass das Datum korrekt interpretiert 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