Clever-Excel-Forum

Normale Version: VBA - Zählen wie oft im Monat
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

einmal mehr benötige ich eure Hilfe.

In meinem Arbeitsblatt habe ich in den Zeilen A1 - L1 die Monate aufgeschrieben.
In Range A4:A15 befinden sich verschieden Daten.
z.B. 
  • 01.01.2019
  • 05.01.2019
  • 15.09.2019
  • 26.03.2019
  • 15.06.2019
  • 28.09.2019
Ich möchte nun, dass mein Makro durch die Range "A4:A15" durchgeht und z.b. alle Daten für den Januar zählt und diese Zahl dann in A2 einfügt.
D.h. in diesem Beispiel sollte dann in A2 "2" stehen.

Ich weiß, das wäre mit einer PivotTabelle machbar, ich möchte dies aber mit einem Makro machen, da das ganze zu einer größeren Funktion gehört und ohne abbrechen durchlaufen sollte.

Ich habe es bereits mit folgender Lösung probiert:

Code:
Range("A2").Value = "=COUNTIF(A4:A15, MONTH(A1))"   'Funktioniert aber leider nicht


Ich hoffe jemand kann mir dabei helfen.
Moin!
Folgender Ansatz:
ABCDEFGHIJ
3123456789
401.01.2019201001002
505.01.2019
615.09.2019
726.03.2019
815.06.2019
928.09.2019

ZelleFormel
B4=SUMMENPRODUKT(--(MONAT($A4:$A9)=B$3))

Formel nach rechts ziehen.

Gruß Ralf
Hallo RPP63,

auf dich ist echt immer verlass :D

Funktioniert soweit echt einwandfrei .. Dafür schon mal vielen Dank :)

Eine frage hätte ich aber noch.

Ist es auch irgendwie möglich den Namen des Monats anstatt der Zahl anzugeben?

Danke Vorab.

Gruß,
Mr. I
Frei nach Toyota (Nichts ist unmöglich):

ABCDEFGHIJ
3JanuarFebruarMärzAprilMaiJuniJuliAugustSeptember
401.01.2019201001002
505.01.2019
615.09.2019
726.03.2019
815.06.2019
928.09.2019

ZelleFormel
B4=SUMMENPRODUKT(--(TEXT($A4:$A9;"MMMM")=B$3))
Hallo,

Mit Range.Value kannst Du kein Formelergebnis in die Zelle schreiben. Das kannst du z.B. mit EVALUATE (in eckige Klammern [] gesetzte Funktionen werden mit Evaluate ausgewertet) machen.
Zählenwenn mit Monat kombiniert kann nicht funktionieren. Entweder DU nimmst Zählenwenns und schränkst entsprechend den Zeitraum mit Monatsanfang und Monatsende ein oder Du verwendest SUMMENPRODUKT und wendest Monat auf den zu durchsuchenden Bereich auch an:
Code:
Range("A2").Value = ["=COUNTIFS(A4:A15,"">=""&DATE(YEAR(A1),MONTH(A1),1),A4:A15,""<=""&DATE(YEAR(A1),MONTH(A1)+1,0))"]
oder
Range("A2").Value = ["=SUMPRODUCT(--(TEXT(A4:A15,""MMJJJJ"")=TEXT(A1,""MMJJJJ"")))"]