Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
868to872
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
868to872
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Monat aus Kalenderwoche extraieren

Monat aus Kalenderwoche extraieren
21.05.2007 17:13:00
MikeS
Hallo,
ich möchte aus einem Zellinhalt (z.B. "22.2007"), welches die Kalenderwoche und das Jahr beinhaltet, den jeweiligen Monat (in diesem Fall: "Mai") extraieren.
Bitte um Eure Hilfe. Vielen Dank
MikeS

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Monat aus Kalenderwoche extrahieren
21.05.2007 18:01:37
Peter
Hallo Mike
was machst du, wenn die KW monatsübergreifend ist ?
Hier ist eine Lösung, bei der du z. B. immer den Montag der KW ermiiteln kannst.
Daraus kannst du (bei VBA gut) ja leicht den Monat extraHieren.


Sub test()
'zur verwendung in einem Makro
MsgBox Format(Datum_Aus_KW_und_Wochentag(2004, 14, 1), "ddd dd.mm.yyyy")
End Sub
'
'   ein Datum aus Kalenderwoche, Jahreszahl und Wochentag ermitteln
'
Function DatumAusKW(KW As Long, Jahr As Long, WoTag As LongAs Date
Dim Datum As Date
   If Jahr > 1900 And Jahr < 2100 And KW > 0 And KW < 54 And WoTag > 0 And WoTag < 8 Then
      If Weekday(DateSerial(Jahr, 1, 1), vbMonday) <= 4 Then
         Datum = DateSerial(Jahr, 1, 1) - Weekday(DateSerial(Jahr, 1, 1), vbMonday) + 1
       Else
         Datum = DateSerial(Jahr, 1, 1) - Weekday(DateSerial(Jahr, 1, 1), vbMonday) + 8
      End If
      Datum = Datum + (7 * (KW - 1)) + (WoTag - 1)
      If KW = 53 And _
         Not (Weekday(DateSerial(Jahr, 1, 1), vbMonday) = 4 Or _
         Weekday(DateSerial(Jahr, 12, 31), vbMonday) = 4) Then
         Datum = "31.12.9999"
      End If
   Else
      Datum = "31.12.9999"
   End If
   DatumAusKW = Datum
End Function 


Gruß Peter

Anzeige
AW: Monat aus Kalenderwoche extrahieren
21.05.2007 18:20:00
MikeS
Hallo Peter,
hab folgende funktionierende Lösung im Netz gefunden:

Private Function KWMonat(ByVal intKW%, ByVal intJahr%) As String
Dim i%, Datum As Date
Datum = DateSerial(intJahr, 1, 1)
For i = 0 To 365
If KWoche(Datum + i) = intKW Then
'KWMonat = Month(Datum + i)
Select Case Month(Datum + i)
Case 1: KWMonat = "Januar"
Case 2: KWMonat = "Februar"
Case 3: KWMonat = "März"
Case 4: KWMonat = "April"
Case 5: KWMonat = "Mai"
Case 6: KWMonat = "Juni"
Case 7: KWMonat = "Juli"
Case 8: KWMonat = "August"
Case 9: KWMonat = "September"
Case 10: KWMonat = "Oktober"
Case 11: KWMonat = "November"
Case 12: KWMonat = "Dezember"
End Select
Exit For
End If
Next i
End Function



Private Function KWoche(Datum As Date)
Dim t As Long
t = DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1)
KWoche = ((Datum - t - 3 + (Weekday(t) + 1) Mod 7)) \ 7 + 1
End Function


Trotzdem vielen Dank für Deinen Einsatz :-)
Ciao Mike

Anzeige
AW: Monat aus Kalenderwoche extraieren
21.05.2007 22:21:08
lou38
Hallo Mike
Hier eine Variante ohne VBS:
=DATUM(RECHTS(A1;4);1;7*LINKS(A1;2)-3)-WOCHENTAG(DATUM(RECHTS(A1;4);;);3).
Das Resultat ist das Datum des Montags der eingegebenen Woche. Wenn du die Zelle mit MMMM formatierst, erhältst du den Monat.
Gruss
Louis

38 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige