Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1192to1196
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Absolute Häufigkeit pro Monat

Absolute Häufigkeit pro Monat
Andi
Hallo,
ich möchte die Häufigkeit von freigebenen bzw. geplanten Dokumenten pro Monat per VBA ermitteln.
Typ Date zu verarbeiten ist für mich eine aufwendige Sache, wenn Rechner mit unterschiedlichen Ländereinstellungen das Programm/Tool verwenden.
Zunächst wandle ich jeglichen Typ Date zu Long um.
Function strDatumToLong(strDate As String) As Long
On Error Resume Next
Dim strDatum As String
strDate = Replace(Replace(strDate, "-", "/"), ".", "/")
If Len(Split(strDate, "/")(0)) = 4 Then
If Len(Split(strDate, "/")(1)) = 1 Then
strDatum = "0" & Split(strDate, "/")(1)
Else
strDatum = Split(strDate, "/")(1)
End If
strDate = Split(strDate, "/")(2) & "/" & strDatum & "/" & Split(strDate, "/")(0) & " 00:00: _
00"
Else
If Len(Split(strDate, "/")(1)) = 1 Then
strDatum = "0" & Split(strDate, "/")(1)
Else
strDatum = Split(strDate, "/")(1)
End If
strDate = Split(strDate, "/")(1) & "/" & strDatum & "/" & Split(strDate, "/")(2) & " 00:00: _
00"
End If
On Error Resume Next
strDatumToLong = CLng(CDate(strDate))
If Err.Number  0 Then
strDatumToLong = 0
End If
On Error GoTo 0
End Function
Anschliessend wird durch die Select Case Methode 12 Cases (Jan-Dez) geprüft, welchen Monat das Datum zu zuordnen ist.
Function MonthlyYear(lngDate As Long) As Variant
Dim i, iMonat As Long
Dim Jahr As String
Dim arrDate(0, 1) As Variant
Erase arrDate()
Jahr = CStr(Year(lngDate))
For i = 1 To 11
If Len(i) = 1 And Len(i + 1) = 1 Then
If strDatumToLong("01.0" & CStr(i) & "." & Jahr) 

Ich vermute, daß ich das Ganze viel zu kompliziert programmiert habe. Gibt es eine Alternative?
THX
Andi

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Absolute Häufigkeit pro Monat
22.12.2010 16:48:17
Josef

Hallo Andi,
na soooooooooooooooooooooooooooo kompliziert sieht das nicht aus;-)))))
Ich weiß ja nicht, was das ganze werden soll, aber "Datumumwandeln" kann VBA recht gut.
Sub test()
  
  MsgBox CDate("22/12/10") & vbLf & _
    CDate("22/12/2010") & vbLf & _
    CDate("2010/12/22") & vbLf & _
    CDate("22.12.2010") & vbLf & _
    CDate("22-12-2010") & vbLf & _
    CDate("2010-12-22") & vbLf & _
    CDate("22 12 2010") & vbLf & _
    CDate("2010 12 22")
End Sub


Gruß Sepp

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige