title image


Smiley Re: Kann word die nächsten 3 montage von einem startdatum ab berechnen?
du kannst das auch über Formulartextfelder machen









Sub ErgaenzeMontag()



    Const vFDatum = "TF_Datum"

    Const vWochentag = 2   ' Wert 2 entspricht Montag



    On Error Resume Next

    sDatumStart = ActiveDocument.FormFields(vFDatum).Result



    If Err Then

        ' es ist ein Fehler aufgetreten, da die Textmarke, welche mit

        ' vFDatum festgelegt wurde nicht oder kein aktives Dokument

        ' vorhanden ist

        Exit Sub

    End If



    If sDatumStart <> "" Then sD = CDate(sDatumStart)

    If IsEmpty(sD) Then

        ' sD ist LEER - enthät keinen Datumwert

        Exit Sub

    End If



    MsgBox Weekday(sD) & vbCrLf & vWochentag - Weekday(sD)

    If vWochentag - Weekday(sD) < 0 Then

        iDDiff = 7 + (vWochentag - Weekday(sD))

    Else

        iDDiff = vWochentag - Weekday(sD)

    End If



    ActiveDocument.FormFields(vFDatum).Result = DateAdd("d", iDDiff, sD)



    ActiveDocument.FormFields(vFDatum & "01").Result = DateAdd("d", iDDiff + 7, sD)

    ActiveDocument.FormFields(vFDatum & "02").Result = DateAdd("d", iDDiff + 14, sD)

    ActiveDocument.FormFields(vFDatum & "03").Result = DateAdd("d", iDDiff + 21, sD)

    ActiveDocument.FormFields(vFDatum & "04").Result = DateAdd("d", iDDiff + 28, sD)



End Sub





Code eingefügt mit Syntaxhighlighter 4.0







ERzeuge dir ingesamt 5 Formulartextfeld. Das erste Feld benennst du "TF_Datum". Die anderen dann TF_Datum01 bis TF_Datum04. Nun bringst du dem ersten Feld über die Feldeigenschaften noch bei, dass es beim Verlassen des Feldes das Makro "ErgaenzeMontag" ausführen soll. Wird nun in diesem Feld irgendein Datum (kein Montagsdatum) eingegeben, wird dieses Feld sogar noch durch den nächsten darauffolgenden Montag korrigiert. Die anderen Felder werden dann mit dem entsprechenden Montagsergebnis nachgezogen. Die Felder kannst du in den Eigenschaften für die Eingabe dann sogar noch sperren ;-)
 
Gruß Martin




eMail und OfficeLine




geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: