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

Kalenderwoche

Kalenderwoche
16.05.2006 09:08:18
Oliver
Hallo
ich habe da mal eine Frage zur Funktion Kalenderwoche.
Der zweite Parameter soll angeben, ob die Woche am Sonntag beginnt oder am Montag. Also in meinem speziellen Fall soll die Woche am Montag beginnen.
Heute ist der 16.05.2006 - dieses Datum steht in Zelle C23
=KALENDERWOCHE(C23;2) ergibt nun aber den Wert 21 aus. Nach meinem Kalender ist der 16.05.2006 aber in der 20. Kalenderwoche....
Erst am 22.05.2006 springt die Anzeige der Kalenderwoche um - auf 22 - nach meinem Kalender ist aber die KW 21 richtg.
Nun glaube ich, es könnte am Parameter liegen - also ratz fatz die 2 gegen eine 1 getauscht...
Nun ist der 16.05.2006 zwar in der 20. Kalenderwoche - der Sprung in die 21. Kalenderwoche vollzieht Excel aber am 21.05.2006 - klar, weil Parameter 1 sagt, dass Sonntag der erste Tag der Woche ist.
Was mache ich falsch....

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kalenderwoche
16.05.2006 10:35:45
Gert
Hallo unbenannt,
es schon recht, wenn irgendwo Dein Name verewigt ist!!!
Als Standard ist die USA-Variante eingestellt,erster Wochentag ="Sonntag" (Bspl. Wochentag(A1;1) ). In Europa ist der erste Wochentag ="Montag" (Bspl. =Wochentag(A1;2).
Kalenderwochen werden ebenfalls anders berechnet. In Europa beginnt die erste
Kalenderwoche des Jahres, wenn die KW mindestens 4 Tage des neuen Jahres beinhaltet.
Also "Sonntag" der 04.01.ist.Sonst gehört diese KW noch zur letzten Woche des
Vorjahres. Entsprechend die nachstehende Funktion :
=KÜRZEN((A1-WOCHENTAG(A1;2)-DATUM(JAHR(A1+4-WOCHENTAG(A1;2));1;-10))/7)
mfg
Gert
Anzeige
AW: Kalenderwoche
16.05.2006 11:01:43
Oliver
Hallo Gert
Wieso unbenannt?
Naja, wie dem auch sei.
Danke für deine Antwort, aber eine Funktion wäre da schon besser - eine benutzerdefinierte Funktion war in den vorherigen Antworten auch schon gezeigt worden.
Nun geht es nur noch um die Frage, wie man eine benutzerdef. Funktion in Excel einbettet....
Grüße
Oliver
AW: Kalenderwoche
16.05.2006 11:07:11
UweD
Hallo
wenn du die Funktion in der Personl.xls in ein Modul packst, dann erfolgt der Aufruf im Tabellenblatt so: (siehe B1)
 
 AB
116.05.200620
Formeln der Tabelle
A1 : =HEUTE()
B1 : =PERSONL.XLS!DINKwoche(A1)
 


Function DINKwoche(Datum)
Dim tmp
tmp = DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1)
DINKwoche = ((Datum - tmp - 3 + (Weekday(tmp) + 1) Mod 7)) \ 7 + 1
End Function

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Kalenderwoche
16.05.2006 10:36:07
Oliver
Wie fügt man ein ben.def. Funktion in Excel ein?
Ich habe den Quellcode nun kopiert und in die Arbeitsmappe Peronl.xls kopiert (Einmal unter Module, und einmal unter Arbeitsmappe)
Aber es funzt nicht wirklich.....
Danke für weitere Hilfe
AW: Kalenderwoche
16.05.2006 12:07:59
Gert
Hallo Oliver,
Die Datei "Personl.xls" sollte von Excel schon erstellt worden sein.
Suchen im Office-Verzeichnis.
Mit Alt+F11 in den VBA-Editor und dort den Code eintragen und speichern.
Anschließend Excel verlassen und "Windows" "Neu starten", dann sollte die
KW-Funktion zur Verfügung stehen.
mfg
Gert
AW: Kalenderwoche
16.05.2006 13:57:43
Oliver
Hallo Gert,
also bei mir klappt es nicht.
Ich habe Funktion nun unter der Datei Personl.xls eingebettet - vieleicht an der falschen Stelle - ich weiß es nicht.
Im Projekt Explorer gibt es unter dem Punkt Personl.xls einen Ordner Microsoft Excel Objekt, darunter wieder "Arbeitsmappe" und Tabelle 1,2,3 usw.
Eingebettet ist es unter Arbeitsmappe - der Code lautet

Function KWOCHE_DIN(datum As Date) As Integer
'    von Christoph Kremer, Aachen
'    Berechnt die KW nach DIN 1355
Dim t&
t = DateSerial(Year(datum + (8 - Weekday(datum)) Mod 7 - 3), 1, 1)
KWOCHE_DIN = (datum - t - 3 + (Weekday(t) + 1) Mod 7) \ 7 + 1
End Function

Ich habe den REchner neu gestartet, Excel auch, dann in ZElle A1 ein Datum eingegeben, und in Zelle A2 die Formel
=kwoche_din(A1)
Fehlermeldung: #name?
Was mach ich falsch?
Gruß
Oliver
Anzeige
AW: Kalenderwoche
16.05.2006 15:44:28
UweD
Hallo
- im vb Editor
- einfügen Modul
- dort dann den Code eingeben..
sieht dann so aus
Userbild
AW: Kalenderwoche
17.05.2006 08:13:01
Oliver
Hallo Uwe
Genauso habe ich es gemacht - aber es funktioniert bei mir nicht - Fehlermeldung bei der Eingabe der Formel '=DINKWOCHE(A1)' ist #Name?
Es ist einfach zum verweifeln...
Userbild
Gruß
OP
AW: Kalenderwoche
17.05.2006 08:23:00
Matthias
Hallo Oliver,
liest du nochmal alle Beiträge, findest du raus, woran es liegt:
Wird die Funktion in PERSONL.XLS abgelegt, muss die Zellformel lauten:

=PERSONL.XLS!DINKWOCHE(A1)

Vorteil: Du kannst die Funktion in jeder Mappe verwenden
Nachteil: Wenn du die Mappe weitergibst, funktioniert sie nur, wenn der andere Benutzer die selbe Funktion in seiner Personl.xls stehen hat.
(Meiner Ansicht nach) besser, du stellst die Funktion in ein Modul der Mappe. Dann genügt auch

=DINKWOCHE(A1)

Gruß und viel Erfolg,
Matthias
Anzeige
AW: Kalenderwoche
17.05.2006 08:36:23
Oliver
Hallo liebe Excelhelfer
Nach all den Lösungsversuchen ist mir das wohl entgangen - Danke für die Tipps und die Geduld.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige