PDA

Vollständige Version anzeigen : Monate zählen


Rudi G
22.04.2009, 08:47
Hi zusammen,

ich habe Datumsangaben in einer Spalte (immer unterschiedlich viele),
nun müsste ich die Anzahl der Moante gezählt haben,
kann man sowas lösen?

jinx
22.04.2009, 09:03
Moin, Rudi,

meinst Du etwas wie die Tabellenfunktion ANZAHL:

MsgBox WorksheetFunction.Count(Range("H:H"))

Rudi G
22.04.2009, 09:08
hi,
danke für die Antwort,

doch mein Problem ist, was mache ich wenn ein Monat doppelt vorkommt?

jinx
22.04.2009, 09:17
Moin, Rudi,

Angaben stehen in Spalte A, bitte anpassen. Eingabebereich wird danach überschrieben, auch dies bitte beachten bzw. anpassen. Datum auf einen Vergleichspunkt bringen, z.B. den 1. Tag jeden Monats:

Sub EindeutigeSortierteWerte()

Dim rngBereich As Range
Dim rngZelle As Range
Dim colWerte As Collection
Dim lngZähler As Long
Dim lngLetzteZeile As Long
Dim datDatum As Date

Const cstrTESTWERT As String = "Test"

Set colWerte = New Collection

colWerte.Add Item:=cstrTESTWERT, Key:=cstrTESTWERT
lngLetzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

Set rngBereich = ActiveSheet.Range("A2:A" & lngLetzteZeile)

On Error Resume Next
For Each rngZelle In rngBereich
If Not rngZelle.Value = vbNullString Then
For lngZähler = 1 To colWerte.Count
datDatum = DateSerial(Year(rngZelle.Value), Month(rngZelle.Value), 1)
If datDatum < colWerte(lngZähler) Then
colWerte.Add Item:=datDatum, Key:=CStr(datDatum), Before:=lngZähler
End If
Next
colWerte.Add Item:=datDatum, Key:=CStr(datDatum)
End If
Next rngZelle
On Error GoTo 0

colWerte.Remove cstrTESTWERT

rngBereich.ClearContents

Set rngBereich = rngBereich.Resize(colWerte.Count)

lngZähler = 0
For Each rngZelle In rngBereich
lngZähler = lngZähler + 1
rngZelle.Value = colWerte(lngZähler)
Next rngZelle

End Sub
Und MsgBox colWerte.Count bringt dier Anzahl der Einträge der Collection...

Rudi G
22.04.2009, 09:27
Hi,

leider passiert wenn ich das Makro starte garnichts,

sollte da nicht in der ersten freien Zelle in A eine Zahl eingetragen werden?

jinx
22.04.2009, 09:36
Moin, Rudi,

siehe Anhang - bei mir tut sich was. Makro-Sicherheit auf mittel? Makros beim Start der Mappe aktiviert?

Rudi G
22.04.2009, 10:05
Hi,
leider kann ich den Anhang nicht öffnen ( werde ich machen wenn ich zu hause bin).
Die Makros stehen auf Mittel und sind auch beim start aktivert.
Ich werde versuchen anhand des Anhangs weiter zu kommen,


zunächst mal vielen Dank.....