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

Enddatum

Enddatum
22.03.2006 17:14:41
Heinz
Hallo Leute
Habe auf Herber CD unteres Makro gefunden.
Das nur die Tage von Montag bis Freitag anzeigt.
Nun möchte ich aber nicht so wie im Makro "datEnd = Range("H1").Value"
Sonndern das es automatisch ab A6 & B6 das Enddatum einträgt.
Anfangsdatum steht in M3. Zb.1.1.06 das es mir die Daten automatisch bis 31.1.06 einträgt.
Bei Februar eben bis 28.1.06 bzw.bei Schaltjahr 29.2.06 usw.
Könnte mir Bitte das Makro jemand abändern ?
Danke Heinz

Sub WochenendeWeg()
Dim datStart As Date, datEnd As Date
Dim lDay As Long
Dim iRow As Integer
datStart = Range("M3").Value
datEnd = Range("H1").Value
For lDay = datStart To datEnd
If WeekDay(lDay, 2) < 6 Then
iRow = iRow + 1
Cells(iRow, 1) = lDay
Cells(iRow, 2) = lDay
End If
Next lDay
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Enddatum
22.03.2006 20:31:31
Yal
> Nun möchte ich aber nicht so wie im Makro "datEnd = Range("H1").Value"
> Sondern das es automatisch ab A6 & B6 das Enddatum einträgt.
Hier wird nicht das Datum geschrieben, sondern nur gelesen: die Variable datEnd bekommt den Wert, der sich in H1 befindet.
> Anfangsdatum steht in M3. Zb.1.1.06 das es mir die Daten automatisch bis 31.1.06 einträgt.
Dafür muss das Enddatum in H1 eintragen
> Bei Februar eben bis 28.1.06 bzw.bei Schaltjahr 29.2.06 usw.
Ist schon drin.
> Könnte mir Bitte das Makro jemand abändern ?
Wichtig ist vor allem, dass Du die Änderungen und das Warum der Änderung verstehst. Sonst ist es wie 5 Min regen im Desert.
> Danke Heinz
Aber gern. Yal

Sub WochenendeWeg()
Dim datStart As Date, datEnd As Date
Dim lDay As Long
Dim iRow As Integer
datStart = Range("M3").Value ' in der Zelle M3 befindet sich das Anfangsdatum
datEnd = Range("H1").Value   ' in der Zelle H1 befindet sich das Enddatum
iRow = 6 ' Hiermit wird gesagt, dass im Zeile 6 angefangen werden soll
For lDay = datStart To datEnd
If WeekDay(lDay, 2) < 6 Then
Cells(iRow, 1) = lDay
Cells(iRow, 2) = lDay
iRow = iRow + 1 ' Vorschub hinterher statt vorher, da wir die Variable iRow initialisiert hatten
End If
Next lDay
End Sub

Anzeige
AW: Enddatum
22.03.2006 20:59:24
Heinz
Hallo Jal
Danke erstmals für Deine Antwort.
Ich bekomm's einfach nicht hin.
Habe in der Mappe 2 Makros.
Könntest Du mir die Bitte irgendwie verbinden.
Das eine Makro ist eben wo die Sam.& Sonn.nicht eingefügt werden.
Das zweite Makro sollte nach jedem Freitag eine Zelle einfügen.
Hatt auch prima geklappt, bis ich rumprobiert habe.
Könntest Du mir bitte da Ordnung reinbringen.
Also bei Klick auf Command Button 1 Sollten eben diese 2 Makros ausgeführt werden.
Weiters Wenn möglich sollte dann eine neue Monatsliste mit dem nächsten Monat angelegt werden.
Aber als eine neue Datei mit dem Namen "Stundenerfassung & Monat"
Ich weiss es ist ein wenig viel verlangt.
Nur wenn Du Lust hast.
Es geht darum eine Stundenliste für jedes Monat zu erstellen.
Danke & Gruss,Heinz
https://www.herber.de/bbs/user/32155.xls
Anzeige
AW: Enddatum
22.03.2006 21:41:34
Yal
Hallo Heinz,
muss das unbedingt mit einem Makro erledigt werden?
Ziel ist es eine dynamische Vorlage zu haben, die jede Monat neu verwendet wird.
Siehe Datei anbei:
https://www.herber.de/bbs/user/32158.xls
jede Monate eine Kopie machen, Datum in Zelle F2 anpassen, je nach Monatslänge, die übrige Zeile unten löschen, das Gesamte kopieren und als Wert einfügen, Spalte 1 bis 4 entfernen.
Aber wenn es unbedingt mit Makro sein muss:

Sub WochenendeWeg()
Dim datStart As Date, datEnd As Date
Dim lDay As Long
Dim iRow As Integer
datStart = Range("M3").Value ' in der Zelle M3 befindet sich das Anfangsdatum
datEnd = Range("H1").Value   ' in der Zelle H1 befindet sich das Enddatum
iRow = 6 ' Hiermit wird gesagt, dass im Zeile 6 angefangen werden soll
For lDay = datStart To datEnd
Select Case WeekDay(lDay, 2)
Case Is < 6
Cells(iRow, 1) = lDay
Cells(iRow, 2) = lDay
iRow = iRow + 1
Case Is = 6
Cells(iRow, 1) = "Summe"
iRow = iRow + 1
End Select
Next lDay
End Sub

Viel Spaß
Yal
Anzeige
AW: Enddatum
23.03.2006 06:51:15
Heinz
Hallo Yal
Recht herzlichen Dank,für Deine Hilfe.
Hat mir echt weitergeholfen.
Gruss,Heinz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige