754 Aufrufe
in Tabellenkalkulation von ahorn38 Experte (3.3k Punkte)
Hallo,

ich möchte in einer Spalte die Anzahl der Einträge "31.12.2015" zählen.
Seltsamerweise liefert mir der Countif-Befehl ein falsches Ergebnis:
lngAnzL = Application.CountIf(Range(Cells(3, 27), Cells(lastrow, 27)), "31.12.2015")


Wenn ich das gleiche mit einer Schleife zähle, dann stimmt das Ergebnis:
For i = 3 To lastrow
If Cells(i, 27) = "31.12.2015" Then lngAnzL = lngAnzL + 1
Next


Weiß jemand woran das liegen könnte? Gruß

2 Antworten

0 Punkte
von
Hallo Andreas,

die (hier nicht angezeigte aber automatisch hinterlegte) .Value Eigenschaft des Range-Objekts deiner Schleife erkennt ob es sich beim Auslesen aus der Zelle um eine Zahl, Text oder ein Datum handelt. Daher funktioniert deine Schleife.
So schlau ist die CountIf Funktion leider nicht. Die sucht stur nach Text welchen Sie nicht findet, da du ja ein rechnerisches Datum (also ein Zahlenformat) hinterlegt hast.
Ändere deine Funktion wie folgt

lngAnzL = Application.CountIf(Range(Cells(3, 27), Cells(lastrow, 27)), CDate("31.12.2015"))
Gruß Mr. K.
0 Punkte
von ahorn38 Experte (3.3k Punkte)
Hallo Mr.K,
Danke für den guten Tipp - jetzt funktionierst !
VG

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...