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

Kalenderwoche eintragen

Kalenderwoche eintragen
06.01.2005 08:59:50
mykey
Moin moin,
ich möchte in einer Excel Tabelle die Kalenderwochen automatisch von einem Makro in die Spalte B bis Q, Zeile 1 eintragen lassen.
In Spalte A gebe ich die Kalenderwoche, z.B. ' 53.-05.KW ' ein.
Excel soll denn automatisch die Wochentage+Datum eintragen, z.B. ' Mo. 27.12. ' .
Geht so etwas denn ?
Außerdem möchte ich mehr über VBA lernen ...
Kennt jemand ein gutes Forum oder Tutorial ?
Danke im Vorraus,
mykey

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kalenderwoche eintragen
=Peter=
Hallo wer auch immer,
normalerweise geht der Weg anders herum. Die Funktion Kalenderwoche benötigt das Datum um die Woche zu berechnen.
BTW: Die Funktion Kalenderwoche rechnet nach amerikanischem Standard, d.h. diese Funktion ist nicht DIN-Konform. Es gibt die Möglichkeit über Formeln
http://www.excelformeln.de/formeln.html?welcher=7
oder über diese benutzerdefinierte Funktion (in ein Modul einfügen)

Function DIN_KW(Datum As Date) As Integer
'   von Christoph Kremer, Aachen
Dim t&
t = DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1)
DIN_KW = (Datum - t - 3 + (Weekday(t) + 1) Mod 7) \ 7 + 1
End Function

dieses Problem zu umgehen.
Wenn du mehr über das warum wissen willst empfiehlt sich ein Blick nach http://de.wikipedia.org/wiki/Kalenderwoche#Kalenderwoche
Bezüglich deiner Anfragen nach Forum und Tutorial. Das Forum hast du gefunden. :-) Du könntest dir aber mal noch folgende Seiten anschauen:
http://www.ti5.tu-harburg.de/manual/vba5/httoc.htm
ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/b0129911.pdf
HTH
Gruss
Peter
Anzeige
Montag einer KW ermitteln
Boris
Hi,
mit dieser UDF erhälst du den Montag einer vorgegebenen KW:

Function KWStart(KW As Byte, Jahr As Integer) As Date
KWStart = DateSerial(Jahr, 1, 7 * KW - 3 - WeekDay(DateSerial(Jahr, 0, 0), 3))
End Function

Als Übergabeparamter die Kalenderwoche (KW) sowie das Jahr.

Sub test()
MsgBox KWStart(53, 2004)
End Sub

Der Rest ist reine Addition.
Grüße Boris
AW: Kalenderwoche eintragen
HerbertH
hallo mykey,
die Function, wie man aus einer Kw den Montag erhält,
hast du ja von Boris schon, jetzt brauchst du nur mehr dieses Makro ausführen...
in A1 steht die vonKW
in B1 steht die bisKW


Sub Datum_in_Zeile1()
Dim s%, x%, kwb As Byte
[c1:af1].ClearContents
   If [a1] > [b1] Then Exit Sub
   
kwb = [b1] * 5 + 2 - ([a1] * 5) + 5
[c1] = KWStart([a1])
x = 1
  For s = 4 To kwb
    Cells(1, s) = Cells(1, s - 1) + x
             
      If s = 7 Then
        x = 3
        Else: x = 1
      End If
      
      If s = 12 Then
        x = 3
      End If
      
      If s = 17 Then
        x = 3
      End If
      
      If s = 22 Then
        x = 3
      End If
      
      If s = 27 Then
        x = 3
      End If
      
Next
End Sub

     gruß Herbert
Anzeige
AW: Kalenderwoche eintragen
07.01.2005 00:42:16
mykey
hmm irgendwie will das makro nich ...
muss ich A1 formatieren ?
ich hab jetz die einträge von Boris und Herbert übernommen.
gruß
mykey
AW: Kalenderwoche eintragen
HerbertH
ben.def.Formatierung A1 = KW ## "bis"
ben.def.Formatierung B1 = KW ##
ben.def.Formatierung C1:AF1 = TTT. TT.MM.
funktioniert bis 6 KW's
eine Gültigkeit in A1 u. B1 kannst du auch festlegen...
Ganze Zahlen von 1 - 6
damit es bei Eingabe der Kw gleich ausgeführt wird,
dieses Change_Ereignis ins Tabellenmodul:


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a1:b1]) Is Nothing Then
   Call Datum_in_Zeile1
End If
End Sub

     gruß Herbert
Anzeige
AW: Kalenderwoche eintragen
07.01.2005 14:04:05
mykey
wie muss ich diese eingaben machen ?
ben.def.Formatierung A1 = KW ## "bis"
ben.def.Formatierung B1 = KW ##
ben.def.Formatierung C1:AF1 = TTT. TT.MM.
bei mir zeigt er nichts an ...
AW: Kalenderwoche eintragen
HerbertH
Zelle oder Zellen markieren/rechte Maustaste/Zellen Formatieren/Zahlen/Benutzerdefiniert/bei "Typ" eingeben/OK
gruß Herbert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige