Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1088to1092
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
Wochentage per VBA
Karin
Hallo Excel-Spezialisten,
um Tabellenblätter mit Kalenderwochen zu erstellen, habe ich in den xl-Beispielen ein passendes Makro gefunden, das ich erweitern möchte: In den Tabellenblättern sollen in A8 bis G8 die Kalendertage pro Woche und in A9 bis G9 die Wochentage stehen. Das Ganze möglichst so, dass ich in A6 das Jahr eingebe und dann die gewünschten Datums automatisch erscheinen. Das bekomme ich trotz tagelangen Probierens nicht hin. Kann mir bitte jemand helfen?
Eine Musterdatei mit manuell erstellten Beispielblättern füge ich bei.
Im Voraus herzlichen Dank!
Karin
https://www.herber.de/bbs/user/63292.xls

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Wochentage per VBA
20.07.2009 09:52:51
Hajo_Zi
Hallo Karin,
das Jahr habe ich in Deiner Tabelle nicht gefunden, ich bin vom aktuellen ausgegangen.
KW1
 ABCDEFG
829.12.200830.12.200831.12.200801.01.200902.01.200903.01.200904.01.2009

verwendete Formeln
Zelle Formel
A8 =DATUM(JAHR(HEUTE());1;1)+TEIL(ZELLE("Dateiname";A1);FINDEN("]";ZELLE("Dateiname";A1))+3;255)*7-WOCHENTAG(DATUM(JAHR(HEUTE());1;1);2)+WENN(WOCHENTAG(DATUM(JAHR(HEUTE());1;1);2)>4;1;-6)
B8 =A8+1
C8 =B8+1
D8 =C8+1
E8 =D8+1
F8 =E8+1
G8 =F8+1

Tabellendarstellung in Foren Version 4.4



Anzeige
AW: Wochentage per VBA
20.07.2009 10:52:29
Karin
Hallo Hajo,
super! Danke für die Wahnsinnsformel. Da merke ich erst, was Experten sind! Wie erstelle ich den Kalender für 2010? Gibt es keine VBA-Lösung wie beschrieben? Wäre für die Anwender halt leichter, einen Button zu drücken, um das nächste Jahr zu erstellen.
Herzliche Grüße
Karin
AW: Wochentage
20.07.2009 10:57:44
Hajo_Zi
Hallo Karin,
in meiner Lösung bin ich von Heute() für das jahr ausgegangen. Ich hätte in der ersten Kalendenwoche, irgendwo das Jahr hingeschrieben und mich dann auf diese Zelle bezogen. ändert man das Jahr ist der neue Kalender erstellt. In der 53 Kw müßte man dann nur eine Prüfung machen ob es dies Kalenderwoche überhaupt gibt, ansoonsten nichts anzeigen.
Das bedeutet in den anderen Kalenderwochen muss dann nicht jahr(Heute()) stehen sonder KW1!A1
Gruß Hajo
Anzeige
AW: Wochentage
20.07.2009 15:04:08
Karin
Hallo Hajo,
nochmals danke für deine Formellösung. Wie würde die Prüfung in der 53 KW aussehen?
Gruß
Karin
Wochenblätter per VBA
20.07.2009 13:13:06
Erich
Hi Karin,
teste doch mal diesen Code:

Option Explicit
Sub CreateWks()
Dim datStart As Date, datEnd As Date
Dim datD As Long
Dim iKW As Integer, sKW As String
Dim lngC As Long
' Application.ScreenUpdating = False   ' nach dem Testen aktivieren
datStart = DateSerial(Range("myJJ"), 1, 1)
datEnd = DateSerial(Range("myJJ"), 12, 31)
For datD = datStart To datEnd Step 7
iKW = ISOWeek(CDate(datD))
If datD = CLng(datStart) And iKW > 1 Then
sKW = "KW" & iKW & "S"
ElseIf datD >= datEnd - 7 And iKW = 1 Then
sKW = "KW" & iKW & "E"
Else
sKW = "KW" & Format(iKW, "0")
End If
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = sKW
With Sheets("Farben WP")
.Rows("1:9").Copy Cells(1, 1)
Columns("A:G").ColumnWidth = .Columns(1).ColumnWidth
End With
Cells(8, 1) = datD - (datD - 3) Mod 7
For lngC = 2 To 7
Cells(8, lngC) = Cells(8, lngC - 1) + 1
Next lngC
Cells(10, 1).Select
Next datD
Application.ScreenUpdating = True
Worksheets(1).Select
End Sub
Der trägt bei jedem neuen Blatt die Datumse ein und übernimmt auch gleich die Formate.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Wochenblätter per VBA
20.07.2009 13:49:18
Karin
Hallo Erich,
danke für den Code. Ich bekomme bei "datStart-DateSerial(Range("myJJ""),1,1)" einen Laufzeitfehler 1004 "Die Methode Range für das Objekt'_Global' ist fehlgeschlagen. Was mache ich falsch?
Herzliche Grüße
Karin
Bitte um Entschuldigung!
20.07.2009 16:18:56
Erich
Hi Karin,
du machst nichts falsch - der Fehler lag bei mir.
Ich habe vergessen dazuzuschreiben, dass ich auf dem "Deckblatt"
das Jahr (z. B. 2010) in eine Zelle geschrieben und dieser Zelle den Namen myJJ gegeben habe.
Für das angegebene Jahr werden dann die Wochenblätter erstellt.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort - und nochmal: Sorry!
Anzeige
AW: Bitte um Entschuldigung!
20.07.2009 16:35:40
robert
hi Erich
die kw 30 beginnt mit 21.7.2009 ?
heute ist aber der 20.7.2009
gruß
robert
Danke @ Robert!
20.07.2009 20:10:34
Erich
Hi,
in der Zeile
Cells(8, 1) = datD - (datD - 2) Mod 7
hatte ich testhalber eine 3 reingeschrieben - und dann das Undo vergessen...
Wegen des Chaos, das ich hier (mit dem Namen und der Test-3) angerichtet habe, hier eine Beispielmappe:
https://www.herber.de/bbs/user/63305.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
@ Erich-OK,jetzt passt's :-) owT
20.07.2009 20:15:46
robert

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige