Office: Datum +1 Tag Aktualisierung springt nicht auf 01.09. sondern auf 32.08.

Helfe beim Thema Datum +1 Tag Aktualisierung springt nicht auf 01.09. sondern auf 32.08. in Microsoft Word Hilfe um das Problem gemeinsam zu lösen; Hallo! Ich hab ein Problem und hoffe, dass ihr mir helfen könnt. Ich habe die Formel { ={ Date \@ "dd" }+1 }. { Date \@ "MMMM yyyy" } in ein Word... Dieses Thema im Forum "Microsoft Word Hilfe" wurde erstellt von Levis82, 31. August 2021.

  1. Levis82 Neuer User

    Datum +1 Tag Aktualisierung springt nicht auf 01.09. sondern auf 32.08.


    Hallo! Ich hab ein Problem und hoffe, dass ihr mir helfen könnt. Ich habe die Formel { ={ Date \@ "dd" }+1 }. { Date \@ "MMMM yyyy" } in ein Word Dokument eingegeben und jetzt schreibt er bei der Aktualisierung wenn ich auf "STRG + P" drücke, beim Datum den 32.08. kann mir jemand vielleicht sagen, wo da der Fehler liegt? Danke im Voraus für eure Hilfe!
     
    Levis82, 31. August 2021
    #1
  2. Exl121150 Erfahrener User
    Hallo,

    wenn der heutige Tag der 31.08.2021 ist, wirst du mit deiner Feldfunktion immer den 32. erhalten. Wo der Fehler liegt? Microsoft hat das so in Word nicht vorgesehen.

    Es gibt mehrere Möglichkeiten, einen Datumstext auf der Basis des heutigen Datums zu errechnen und zu erstellen/einzufügen. Eine davon ist: eine Dokumentvariable mit vergebbaren Namen zu erstellen, der man einen errechneten Datumswert zuweisen kann.
    Angenommen, dieser Dokumentvariablenname sei "MorgigesDatum". Dann kann man dieses morgige Datum mit entsprechend wählbarer Formatierung wie folgt einfügen:
    { DOCVARIABLE "MorgigesDatum" \@ "dddd, dd. MM. yyyy" \* MERGEFORMAT }
    { DOCVARIABLE "MorgigesDatum" \@ "dddd, dd. MMMM yyyy" \* MERGEFORMAT }

    was zu folgender Textanzeige führt:
    Mittwoch, 01. 09. 2021
    Mittwoch, 01. September 2021


    Der 1. Schritt besteht in der Erstellung der VBA-Logik für die Variable im aktiven Dokument (oder in der Dateivorlage):
    Dazu folgende Makros in ein allgemeines Codemodul des aktiven Projektes (oder der Dateivorlage) kopieren:
    Code:
    Option Explicit
    
    'Im aktiven Dokument erzeuge die Dokumentvariable "MorgigesDatum",
    'falls sie dort noch nicht existieren sollte:
    Sub DokVariableHinzufuegen()
      On Error Resume Next
      ActiveDocument.Variables.Add Name:="MorgigesDatum"
      ActiveDocument.BuiltInDocumentProperties
    End Sub
    
    Public Sub DokVariableVersorgen()
      Dim rgStory As Range
     
      'Dokumentenvariable "MorgigesDatum" wird mit der fortlauf.Tageszahl d.morgigen Tages belegt:
      ActiveDocument.Variables("MorgigesDatum").Value = Datieren(1)
     
      'Im aktiven Dokument aktualiesiere ALLE Stellen mit Dokumentvariablennamen
      For Each rgStory In ActiveDocument.StoryRanges
        Call Update_StoryDocVars(rgStory)
        While Not (rgStory.NextStoryRange Is Nothing)
          Set rgStory = rgStory.NextStoryRange
          Call Update_StoryDocVars(rgStory)
        Wend
      Next rgStory
    End Sub
    Private Sub Update_StoryDocVars(oStory As Range)
      Dim oField As Field
      For Each oField In oStory.Fields
         If oField.Type = wdFieldDocVariable Then oField.Update
      Next oField
    End Sub
    '
    'Mit "Datieren(1)" wird die fortlauf.Tageszahl des morgigen Tages ermittelt.
    'Mit "Datieren(7)" wird die fortlauf.Tageszahl des Tages heute in 1 Woche ermittelt.
    '
    Private Function Datieren(d As Integer) As Date
      'Date = Laufende Tageszahl für den heutigen Tag
      '       zB. 31.08.2021 = 44439
      '           Datieren(1) = 44439+1 = 44440
      Datieren = Date + d
    End Function
    
    Der 2. Schritt besteht darin, dass per VBA die Dokumentenvariable "MorgigesDatum" stets zuverlässig erzeugt wird. Dafür muss, wenn die Word-Datei erstellt bzw. geöffnet wird, eine automatische Erstellung erfolgen. Deswegen ist folgender VBA-Code in das Codemodul "ThisDocument" des aktiven Projektes (oder der Dateivorlage) einzufügen:
    Code:
    Option Explicit
    
    Private Sub Document_New()
      Call DokVariableHinzufuegen
    End Sub
    
    Private Sub Document_Open()
      Call DokVariableHinzufuegen
    End Sub
    
    Der 3. Schritt muss im aktiven Dokument (bzw. in der Dateivorlage) erfolgen im Menüband > Tabulator "Einfügen" > Gruppe "Text" > DropDownButton "Schnellbausteine" > Befehl "Feld...", sodass der Feld-Dialog angezeigt wird.
    In der Combobox "Kategorien" den Eintrag "Dokumentautomation" auswählen.
    Im Listenfeld "Feldnamen" den Eintrag "DocVariable" auswählen, sodass daneben in der Spalte "Feldeigenschaften" das Textfeld "Neuer Name:" angezeigt wird. Dort den Namen der Dokumentvariablen "MorgigesDatum" eintippen:
    Datum +1 Tag Aktualisierung springt nicht auf 01.09. sondern auf 32.08. upload_2021-8-31_16-13-23.png
    Mit Button "OK" abschließen.
    Der 4. Schritt besteht schließlich im Einfügen/Formatierung der Dokumentenvariablen an der gewünschten Stelle, zB.:
    { DOCVARIABLE "MorgigesDatum" \@ "dddd, dd. MM. yyyy" \* MERGEFORMAT }
    { DOCVARIABLE "MorgigesDatum" \@ "dddd, dd. MMMM yyyy" \* MERGEFORMAT }


    Eine Beispiel-Worddokument (komprimiert mit WinZip) liegt bei.
     
    Exl121150, 31. August 2021
    #2
    1 Person gefällt das.
  3. Levis82 Neuer User
    Ich danke für die Mühe bei der Erstellung dieses Beitrags. Ich habe versucht nach dieser Anleitung ein Makro zu erstellen, jedoch bin ich damit ein wenig überfordert. Ich habe den Text für das Makro kopiert, aber es tut sich nichts. Was das Datumsformat betrifft, so würde ich zB nur 01.09.2021 als Anzeige brauchen. Ich habe Bilder angehängt! Danke nochmal
     
    Zuletzt bearbeitet: 1. September 2021
  4. Exl121150 Erfahrener User

    Datum +1 Tag Aktualisierung springt nicht auf 01.09. sondern auf 32.08.

    Hallo,

    ich habe gesehen, dass du die Makros in die falschen Codemodule gespeichert hast.

    Folgende Makros gehören in ein allgemeines Codemodul (zB. "Modul1") gespeichert, jedoch keinesfalls in ein Klassenmodul:
    Code:
    Option Explicit
    
    'Im aktiven Dokument erzeuge die Dokumentvariable "MorgigesDatum",
    'falls sie dort noch nicht existieren sollte:
    Sub DokVariableHinzufuegen()
      On Error Resume Next
      ActiveDocument.Variables.Add Name:="MorgigesDatum", Value:=Datieren(1)
    ' ActiveDocument.BuiltInDocumentProperties
    End Sub
    
    Public Sub DokVariableVersorgen()
      Dim rgStory As Range
     
      'Dokumentenvariable "MorgigesDatum" wird mit der fortlauf.Tageszahl d.morgigen Tages belegt:
      ActiveDocument.Variables("MorgigesDatum").Value = Datieren(1)
     
      'Im aktiven Dokument aktualiesiere ALLE Stellen mit Dokumentvariablennamen
      For Each rgStory In ActiveDocument.StoryRanges
        Call Update_StoryDocVars(rgStory)
        While Not (rgStory.NextStoryRange Is Nothing)
          Set rgStory = rgStory.NextStoryRange
          Call Update_StoryDocVars(rgStory)
        Wend
      Next rgStory
    End Sub
    Private Sub Update_StoryDocVars(oStory As Range)
      Dim oField As Field
      For Each oField In oStory.Fields
         If oField.Type = wdFieldDocVariable Then oField.Update
      Next oField
    End Sub
    '
    'Mit "Datieren(1)" wird die fortlauf.Tageszahl des morgigen Tages ermittelt.
    'Mit "Datieren(7)" wird die fortlauf.Tageszahl des Tages heute in 1 Woche ermittelt.
    '
    Private Function Datieren(d As Integer) As Date
      'Date = Laufende Tageszahl für den heutigen Tag
      '       zB. 31.08.2021 = 44439
      '           Datieren(1) = 44439+1 = 44440
      Datieren = Date + d
    End Function
    Sub FutureDate()
        Selection.TypeText Text:=Format(Date + 1, "dddd, d. mmmm yyyy")
    End Sub
    
    Ich habe diese Makros nochmals leicht modifiziert und ergänzt. Bitte daher diese Version übernehmen. Sie ist auch in der beiliegenden Zip-Version so enthalten.

    Und auch die folgenden beiden Makros sind zwar Ereignis-Prozeduren des Word-Dokumentenobjektes, aber sie gehören trotzdem nicht in ein normales Klassenmodul, sondern in die vorgegebene Klasse "ThisDocument"
    Code:
    Option Explicit
    
    Private Sub Document_New()
      Call DokVariableHinzufuegen
    End Sub
    Private Sub Document_Open()
      Call DokVariableHinzufuegen
    End Sub
    
    Datum +1 Tag Aktualisierung springt nicht auf 01.09. sondern auf 32.08. upload_2021-9-2_15-51-21.png
    Im Word-Dokument habe ich dir Hinweise eingefügt zur Verwendung dieser Makros (Punkte 1) und 2)).
     
    Exl121150, 2. September 2021
    #4
    1 Person gefällt das.
  5. Levis82 Neuer User
    Vielen Dank für die rasche Rückmeldung und die nochmalige Erklärung! Ich werde, das Ganze morgen nochmal probieren. Wenn ich auf einem Dokument +1 Tag und Minus -1 Tag brauche, muss ich dann wahrscheinlich ein zweites Makro anlegen, oder? LG
     
  6. Levis82 Neuer User
    das Datum sollte sich auch beim öffnen des Dokuments automatisch aktualisieren. Ich habe ein Dokument, bei dem ich das Datum von gestern eintragen muss, das Datum von heute und das Datum von morgen. Derzeit setzen wir im ausgedruckten Dokument die Datum mit einem Stempel in die Felder und nun würde ich diese gerne gleich mit den richtigen Datumsangaben ausdrucken ohne den lästigen Stempel!

    Das heutige Datum aktualisiert sich immer schön beim öffnen, aber das ist auch einfach auszuwählen in Word! ☺️
     
    Zuletzt bearbeitet: 2. September 2021
  7. Exl121150 Erfahrener User
    Hallo,

    in der beiliegenden Word-Datei (im Zip-Archiv) habe ich dir 4 DocVariablen eingefügt (GestrigesDatum, HeutigesDatum, MorgigesDatum, In_1_Woche). Diese werden beim Öffnen des Dokumentes erzeugt und mit den entsprechenden Datumswerten belegt. Sie können an beliebigen Stellen im Dokument eingesetzt werden und werden nach dem Öffnen der Datei mit den aktuellen Wert angezeigt.
     
    Exl121150, 3. September 2021
    #7
  8. Levis82 Neuer User

    Datum +1 Tag Aktualisierung springt nicht auf 01.09. sondern auf 32.08.

    Ich habe das Ganze jetzt eingefügt und es hat funktioniert! Jetzt hoffe ich, dass es am Montag, wenn ich das Dokument öffne, sich alles von selbst aktualisiert. Ich gebe dann Bescheid. Vielen vielen Dank nochmal für die Hilfe! Ich hätte das sonst nicht geschafft! :-)
     
  9. Levis82 Neuer User
    Funktioniert alles! Einfach Klasse!
     
Thema:

Datum +1 Tag Aktualisierung springt nicht auf 01.09. sondern auf 32.08.

Die Seite wird geladen...
  1. Datum +1 Tag Aktualisierung springt nicht auf 01.09. sondern auf 32.08. - Similar Threads - Datum Tag Aktualisierung

  2. Nächtigungen eines Aufenthalts auf die jeweiligen Monate aufteilen

    in Microsoft Excel Hilfe
    Nächtigungen eines Aufenthalts auf die jeweiligen Monate aufteilen: Guten Tag Ich plage mich schon seit 2 Tagen an diesem Problem. Für meine Nächigungstaxenberechnung benötige ich folgendes: Es gibt ein Aufehthalsdatum eines Gastes, zb 01.0.2023 bis 15.02.2023...
  3. Datum von - bis Tage berechnen + halbe Tage für Heiligabend/ Silvester

    in Microsoft Excel Hilfe
    Datum von - bis Tage berechnen + halbe Tage für Heiligabend/ Silvester: Hallo, ich versuche eine Tabelle zu erstellen, welche Urlaubstage berechnet. Die Tabelle soll für ein ganzes Jahr genutzt werden können. Gebe ich in B7 das Startdatum des Urlaubs und in C7 das...
  4. Datum und Tag in Tabellenreiter einragen VBA

    in Microsoft Excel Hilfe
    Datum und Tag in Tabellenreiter einragen VBA: Ich habe ein VBA das mir im Tabellenblatt das Format zB. "08.08.2023" auswirft. Sub BlätterEinfügen() Dim Last As Integer, i As Integer Application.ScreenUpdating = False With ActiveSheet Last =...
  5. Mittelwert von Stundenmesswerten pro Tag bilden

    in Microsoft Excel Hilfe
    Mittelwert von Stundenmesswerten pro Tag bilden: Hallo liebes Office Forum! Ich habe ein Problem und bin anscheinend zu verwirrt um die korrekte Lösung zu finden. Hier die Situation: ich habe eine Tabelle mit Messwerten die Zeitangabe ist...
  6. Frühste Uhrzeit eines Tages ermitteln?

    in Microsoft Excel Hilfe
    Frühste Uhrzeit eines Tages ermitteln?: Hallo Zusammen, Ich würde gerne für jeden Wochentag die früheste Uhrzeit herausfinden (siehe Anhang). Zunächst habe ich es ganz einfach versucht, indem ich alle Uhrzeiten auf der Y-Achse und das...
  7. Max- Min- Mittelwert pro Tag

    in Microsoft Excel Hilfe
    Max- Min- Mittelwert pro Tag: Hallo, Ich habe eine ca. 145000 Zeilen lange Tabelle mit Temperaturwerten und dem jeweiligen Messtag. (Eine Temperaturmessung alle 15 Minuten über 8,5 Jahre) Nun möchte ich diese Daten auf den...
  8. Datum = Tag

    in Microsoft Excel Hilfe
    Datum = Tag: Ich bin fast am verzweifeln. Da ich kein Exel Fachmann bin und vermutlich auch nie werde, bräuchte ich mal Eure Hilfe. Ich habe im Feld A1 ein Datum stehen, möchte jetzt im Feld B1 den Wochentag...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden