Word fügt automatisch Datum aus KW ein?
Hallo,
kann ich in Office 365 folgende Funktion einbauen?
👉Ich würde gerne wenn ich die KW auf z. B. 25 ändere, gleich das passende Datum mit eingefügt bekommen.
👉Ziel ist es, dass ich nur die KW ändern muss und Word automatisch das gesamte Datum richtig abändert 🙂.
Würde mir einiges an Zeit ersparen...
👉Freue mich auf hilfreiche und verständliche Antworten 👈
1 Antwort
Hallo,
sowas kann man per VBA bzw. ein Makro erreichen.
Aktiviere zunächst die Registerkarte Entwicklertools. Wie das geht, zeigt dieses Video:
https://www.youtube.com/watch?v=WzJpzUrZEyQ
Positioniere nun deinen Cursor an der Stelle im Dokument, an der später das KW 23 (07.06.2021 – 11.06.2021) erscheinen soll.
Wechsle nun in die Registerkarte Entwicklertools und füge ein Rich-Text-Inhaltssteuerelement ein.
Wähle dieses an und klicke dann in der Registerkarte Entwicklertools auf Eigenschaften. Dort benennst du das Inhaltssteuerelement zwingend im Feld Titel mit KW. Benutze hier bitte keinen anderen Namen, da sonst das Makro nicht richtig funktioniert!
Anschließend öffnest du den VBA-Editor mit einem Druck auf Alt + F11 oder Klick auf Visual Basic in der Registerkarte Entwicklertools.
Hier fügst du jetzt über Einfügen → Modul ein neues Modul ein. In dieses fügst du nun den folgenden Code ein:
Option Explicit
Public Function FirstDateOfCalWeek(cWeek As Integer, Optional cYear As Variant) As Date
If IsMissing(cYear) Then cYear = Year(Date)
FirstDateOfCalWeek = DateSerial(cYear, 1, 4) + cWeek * 7 - 7 - (DateSerial(cYear, 1, 2) Mod 7)
End Function
Sub KWEinfuegen()
Dim strKW, strText As String
Dim intKW As Integer
VonVorne:
strKW = InputBox("Bitte geben Sie eine Kalenderwoche ein!", "Kalenderwoche eingeben")
If StrPtr(strKW) = 0 Then Exit Sub
Select Case strKW
Case 1 To 53: intKW = CInt(strKW)
Case Else
MsgBox "Bitte geben Sie eine Kalenderwoche von 1 bis 53 ein.", vbExclamation + vbOKOnly, "Fehler"
GoTo VonVorne
End Select
strText = "KW " & strKW & " (" & FirstDateOfCalWeek(intKW) & " – " & (FirstDateOfCalWeek(intKW) + 4) & ")"
ActiveDocument.SelectContentControlsByTitle("KW").Item(1).Range.Text = strText
End Sub
Den Code für die Funktion FirstDateOfCalWeek habe ich übrigens von dieser Seite.
Speichere danach im VBA-Editor das Makro über Strg + S.
Das Makro aufrufenUm nun das Makro aufzurufen und das Inhaltssteuerelement mit dem Datum der gewünschten Kalenderwoche zu befüllen drücke Alt + F8 oder wähle in der Registerkarte Entwicklertools den Befehl Makros.
Wähle aus der Liste das Makro KWEinfuegen und klicke auf Ausführen. Dann erscheint eine Eingabemaske in der du gebeten wirst, die gewünschte Kalenderwoche einzutragen. Den Rest errechnet dann Word und fügt den gewünschten Text in das Inhaltssteuerelement ein. Allerdings darfst du niemals das Inhaltssteuerelement aus dem Dokument löschen, sonst gibt's hier eine Fehlermeldung.
Dem Makro eine Tastenkombination zuweisenUm das Makro schneller aufrufen zu können kannst du ihm eine Tastenkombination zuweisen. Das geht so:
klicke auf Datei → Optionen, wähle dann links Menüband anpassen und klicke dann im rechten Bereich unten links bei Tastenkombinationen auf Anpassen...
In dem sich öffnenden Fenster scrollst du links in der Liste Kategorien runter bis Makros und wählst diese an.
Dann wählst du in der rechten Liste Makros das Makro KWEinfuegen.
Positioniere den Cursor jetzt im Feld Neue Tastenkombination und drücke die gewünschte Tastenkombination, z. B. Strg + Ä, die draufhin in diesem Feld erscheint. Gleichzeitig erscheint dabei unter dem linken Kasten Aktuelle Tasten eine Meldung namens Derzeit zugewiesen an.
Wichtig: Falls hinter Derzeit zugewiesen an der Name eines Befehls auftaucht – z. B. würde hier der Name BearbeitenKopieren bei der Tastenkombination Strg + C auftauchen –, ist diese Tastenkombination bereits vergeben. Klicke dann auf keinen Fall auf Zuordnen, denn sonst würdest du eine bereits bestehende Tastenkombination überschreiben, und da wirst du nicht glücklich! Lösche in diesem Fall die eingegebene Tastenkombination im Feld Neue Tastenkombination und gib eine neue ein.
Falls hinter der Meldung Derzeit zugewiesen an aber die Meldung [nicht zugewiesen] auftaucht, ist die eingegebene Tastenkombination noch frei und kann vergeben werden. Klicke in diesem Fall unten links auf Zuordnen, so dass die Tastenkombination links im Feld Aktuelle Tasten auftaucht.
Dann kannst du das Fenster Schließen.
Jetzt kannst du das Makro mit der zugewiesenen Tastenkombination aufrufen.
Ein Befehlsicon zum Aufruf des Makros in der Schnellzugriffsleiste von Word anlegenWie man einem Makro eine Befehlsfläche in der Schnellzugriffsleiste zuweist, wird in diesem Video beschrieben:
https://www.youtube.com/watch?v=Q-jkn2U7adI
Das Video ist zwar in Excel erstellt, die Zuweisung eines Makros zu einem Icon in der Schnellzugriffsleiste funktioniert aber in Word ganz genau so.
Eine Rückmeldung wäre nett und melde dich bitte bei Fragen!
Gruß, BerchGerch