Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
496to500
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
496to500
496to500
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Anzeigeformat Jahr und Kalenderwoche

Anzeigeformat Jahr und Kalenderwoche
11.10.2004 10:24:18
Christian
Hi Leute,
ich habe folgendes Problem, bei dem ich nicht ganz weiterkomme.
Ich habe ein Datum, dass ich wie folgt anzeigen möchte:
"JJ - KW"
Zur Berechnung der Kalenderwoche haben ich folgende Funktion:

Function KW(Tag)
KW = DatePart("ww", Tag, vbMonday, vbFirstFourDays)
End Function

Ich möchte die Sache in einer Formel abbilden und bin bis jetzt schon so weit:
=VERKETTEN(JAHR(A1);" - ";Kw(A1)) // in A1 steht mein Datum 21.05.2004
als Ergebnis erhalten ich: "2004 - 21"
Nun will ich aber das Jahresformat nur zweistellig und mein Systemdatum möchte ich auch nicht ändern.
Weiß jemand von euch, welche Standardformel ich in meine Formel noch einbauen muss, damit ich das gewünschte Ergebnis erhalte, oder wie ich die Funktion aufbohren sollte, damit das Ergebnis stimmt?
Mit
=VERKETTEN(TEXT(JAHR(A1);"JJ");" - ";Kw(A1))
habe ich es auch schon versucht, da bekomme ich aber eine falsche Jahresangabe (1905) zurück.
Ich bedanke mich schon jetzt für jede Hilfe zu dem Thema.
mfg
Christian Becskei

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzeigeformat Jahr und Kalenderwoche
Dr.
...TEIL(JAHR(A1);3;2)...
AW: Anzeigeformat Jahr und Kalenderwoche
11.10.2004 12:10:35
Christian
Danke für die Hilfe,
ich bekomme aber immer ein falsches Jahr zurück.
A1=Datum: 21.05.2004
=VERKETTEN((TEIL(JAHR(A1);3;2));" - ";kw(A1))
Ergebnis: 05 - 21
=VERKETTEN((JAHR(A1);" - ";kw(A1))
Ergebnis: 1905 - 21
Habe ich was falsch eingestellt?
Danke
mfg
Christian
AW: Anzeigeformat Jahr und Kalenderwoche
Dr.
...TEIL(JAHR(A1);3;2)...
AW: Anzeigeformat Jahr und Kalenderwoche
Ulf
Die Berechnung der KW mit dieser Funktion entspricht nicht der DIN.
Wenn du das mit verketten machst, wird es Text, mit dem du nicht rechnen kannst.
Ist das so gewollt?
Ulf
AW: Anzeigeformat Jahr und Kalenderwoche
11.10.2004 10:37:04
Christian
Hast recht,
nach der Separierung wird mit den Daten noch gerechnet, Danke für den Hinweis.
Gibt es dazu eine Alternative?
Das mit der DIN ist nicht so wichtig, da wir das Tool nur intern verwenden. Ich habe mich mit dem DIN Thema noch nicht wirklich auseinandergesetzt. Ich müsste diesbezüglich im Forum noch etwas nachlesen (Einträge diesbezüglich habe ich schon gesehen).
mfg
Christian Becskei
Anzeige
AW: Anzeigeformat Jahr und Kalenderwoche
K.Rola
Hallo,

Function KW(Tag As Byte)
KW = Format(Date, "yy ") & Format(DatePart("ww", Tag, vbMonday, vbFirstFourDays), "00")
End Function

Btw. die Funktion entspricht nicht der DIN!
Gruß K.Rola
AW: Anzeigeformat Jahr und Kalenderwoche
11.10.2004 10:41:23
Christian
Danke für die geänderte Funktion.
Ich erhalte jedoch damit immer den Fehler #Zahl!
Zellenformat ist Standard.
Habe ich das was falsch eingestellt?
mfg
Christian
AW: Anzeigeformat Jahr und Kalenderwoche
K.Rola
Hallo,
schwer zu sagen, da die Function ansich macht, was sie soll.
Eingabe in eine Zelle: =KW(22) 'ergibt 04 03 (Jahr, Tag)
Gruß K.Rola
AW: Anzeigeformat Jahr und Kalenderwoche
11.10.2004 10:50:05
Christian
Danke,
ich bekomme auch bei der Geschichte mit
=VERKETTEN((TEIL(JAHR(A1);3;2));" - ";kw(A1))
den selben Fehler zurück
mfg
Christian
Anzeige
AW: Anzeigeformat Jahr und Kalenderwoche
11.10.2004 10:52:21
Christian
Mir ist noch was aufgefallen.
Die Funktion soll ja das Jahr und die KW zurückgeben
04 Jahr
21 Kalenderwoche
04 - 21 oder 04 21
mfg
Christian
AW: Anzeigeformat Jahr und Kalenderwoche
11.10.2004 11:55:30
Gert
Hallo Ihr alle,
hier erst einmal die DIN_KW-in VBA :
&ltpre&gt
Function DIN_KW(dat As Date) As Integer
Dim a As Integer
a = Int((dat - DateSerial(Year(dat), 1, 1) + _
((Weekday(DateSerial(Year(dat), 1, 1)) + 1) Mod 7) - 3) / 7) + 1
If a = 0 Then
a = DIN_KW(DateSerial(Year(dat) - 1, 12, 31))
ElseIf a = 53 And _
(Weekday(DateSerial(Year(dat), 12, 31)) - 1) Mod 7 &lt= 3 Then
a = 1
End If
DIN_KW = a

End Function&lt/pre&gt
Die DIN_KW war sehr wichtig im Jahrewechsel 2003/2004,
die Funktion "Kalenderwoche" übergibt den 01.01.2004 in der KW 53,
während "DIN_KW"=KW 01 richtig ist.
mfg
Gert Seler
Esgibt nichts gutes, außer man tut es.
Anzeige
AW: Anzeigeformat Jahr und Kalenderwoche
11.10.2004 12:20:41
Christian
Ich habe nun den Fehler deiner Funktion gefunden:
Die Variable war als "byte" und nicht als "date" deklariert.

So funktioniert es auch:

Function KW(Tag As date)
KW = Format(Date, "yy ") & Format(DatePart("ww", Tag, vbMonday, vbFirstFourDays), "00")
End Function

Danke nochmals für die Hilfe.
mfg
Christian
? oT
K.Rola
?
AW: ? oT
11.10.2004 14:51:53
Christian
Wenn ich deine Funktion aktiviert habe

Function KW(Tag As Byte)
KW = Format(Date, "yy ") & Format(DatePart("ww", Tag, vbMonday, vbFirstFourDays), "00")
End Function

habe ich immer einen Fehler #Zahl! in der Zelle erhalten.
mit der Umbau der Funktion in der Variablendefinition "Tag"

Function KW(Tag As date)
KW = Format(Date, "yy ") & Format(DatePart("ww", Tag, vbMonday, vbFirstFourDays), "00")
End Function

funktioniert die Berechnung wie von dir vorgeschlagen.
Danke für den Tipp.
mfg
Christian Becskei
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige