Problem mit countIf und Datum
16.09.2014 02:05:55
reefgirl81
ich habe vor kurzem mit VBA begonnen. Ich muss dazu sagen, dass ich bereits seit Jahren in C# und Java entwickle. Ich weiß, nun aber trotzdem nicht mehr weiter.
Ich habe mir bereits sehr viel Hilfe von euch geholt, indem ich alte Forumsbeiträge durchstöbert habe, aber leider...
Ich weiß, dass die Frage bzgl. der WorksheetFunction.CountIf bereits öfters gestellt wurde und habe diese Beiträge bereits studiert und ich komme auch meinen Fehler nicht drauf.
Es geht um eine kleine Teilfunktion meines Programms. Ich habe in einer Spalte Range("A4:A" & lastRowData) lauter Daaten (formatiert als Datum kurz) gespeichert habe. Das mittels countIf, möchte ich herausfinden, ob es Daten gibt, welche größer als bspw. der 30.06.2014 sind. Die betreffenden Codezeilen sehen wie folgt aus:
Dim toDate As Date
Dim countIfs As Double
Dim rangeDates As range
Dim lastRowData As Integer ' ist die letzte Zeile in meinem Arbeitsblatt
toDate = Format("30.06.2014", "dd.mm.yyyy")
Set rangeDate = ActiveWorkbook.Sheets("Daten").range("A4:A" & lastRowData)
countIfs = WorksheetFunction.CountIf(rangeDates, ">" & toDate)
Nun das suspekte. Die Variable countIfs sollte das Ergebnis 307 zurückliefern, da ich 307 Daten in der Range habe, welche alle größer als der 30.06.2014 sind. Das komische ist, dass countIfs, beim durchsteppen aber den Wert 2 erhält, was genau zwei Datumsangaben entspricht, an denen der Tag der 31. ist.
Was mache ich falsch... komme wirklich schon den ganzen Tag nicht weiter und das witzige ist, dass ich die countIf-Funktion bereits mehrmals in meinem Projekt angewendet habe, nur ohne ",..."-Operatoren.
Ich würde mich wirklich riesig freuen, wenn Ihr mir weiterhelfen könntet