Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel VBA Datumsoption "1904" toggeln?!

Forumthread: Excel VBA Datumsoption "1904" toggeln?!

Excel VBA Datumsoption "1904" toggeln?!
06.10.2016 11:05:43
Bernd
Servus zusammen,
ich hab mal eine Frage an die VBA-Spezialisten, da mich meine bisherigen Recherchen leider noch nicht ans Ziel gebracht haben.
Kann man mit VBA die Datumsoptionen einer Arbeitsmappe auslesen und auf das 1904 Format umstellen?
Hintergrund: Ich habe eine Vorlage zur Auswertung von Produktionsmonaten erstellt. Bei mir hat sie such wunderbar funktioniert, nur bei vereinzelten Kollegen gibt es immer wieder Probleme aufgrund der unterschiedlichen Datumsoption.
Ich würde jetzt gern, ähnlich wie beim Drucken auf einem nicht-Standart-Drucker, in Workbooks_Open das aktuelle Datumsformat (1900 oder 1904) in eine Variable auslesen, für die Arbeitsmappe das Format 1904 einstellen und bei Workbooks_BeforeClose wieder auf das Voreingestellte Format des jeweiligen Kollegen zurücksetzen wollen.
Hat jemand eine Idee?
Danke und Grüße, Bernd
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA Datumsoption "1904" toggeln?!
06.10.2016 12:02:20
UweD
Hallo
hier die Anweisungen...
Den alten Wert kannst du dir natürlich irgendwo merken. (z.B. in einer Zelle)

Dim DatOpt As Boolean
With ActiveWorkbook
DatOpt = .Date1904 'auslesen
.Date1904 = True 'setzen
'.mach was
.Date1904 = DatOpt 'zurücksetzen
End With

Anzeige
AW: Excel VBA Datumsoption "1904" toggeln?!
06.10.2016 17:37:22
Bernd
Servus,
perfekt, funktioniert.
Danke und Grüße, Bernd
AW: gern geschehen owt
07.10.2016 09:18:25
UweD
;
Anzeige

Infobox / Tutorial

Excel VBA: Datumsoption "1904" toggeln


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Neues Modul erstellen: Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsx), wähle Einfügen und dann Modul.

  3. Code einfügen: Kopiere den folgenden VBA-Code in das Modul. Dieser Code toggelt die Datumsoption auf das 1904-Format und zurück.

    Dim DatOpt As Boolean
    
    Sub Toggle1904()
       With ActiveWorkbook
           DatOpt = .Date1904 ' akt. Datumsoption auslesen
           .Date1904 = Not DatOpt ' toggeln
       End With
    End Sub
    
    Sub Set1904()
       With ActiveWorkbook
           .Date1904 = True ' auf 1904 umstellen
       End With
    End Sub
    
    Sub ResetDateFormat()
       With ActiveWorkbook
           .Date1904 = DatOpt ' zurücksetzen
       End With
    End Sub
  4. Makros ausführen: Du kannst jetzt die Subroutinen Toggle1904, Set1904 und ResetDateFormat ausführen, um die Datumsoptionen zu ändern.

  5. Automatisierung hinzufügen: Um den Code beim Öffnen oder Schließen der Arbeitsmappe automatisch auszuführen, füge den folgenden Code in ThisWorkbook ein:

    Private Sub Workbook_Open()
       Call Set1904
    End Sub
    
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
       Call ResetDateFormat
    End Sub

Häufige Fehler und Lösungen

  • Problem: "Datumsoption kann nicht geändert werden."

    • Lösung: Stelle sicher, dass die Datei nicht schreibgeschützt ist und dass du über die entsprechenden Berechtigungen verfügst.
  • Problem: "Falsches Datum angezeigt."

    • Lösung: Überprüfe, ob die 1904-Datumswerte korrekt interpretiert werden. Das kann zu Problemen führen, wenn die Excel-Version unterschiedliche Standardeinstellungen hat.

Alternative Methoden

  • Manuelle Einstellung: Du kannst die Datumsoption auch manuell ändern, indem du zu Datei > Optionen > Erweitert gehst und im Abschnitt "Beim Berechnen dieser Arbeitsmappe" die Option "1904-Datumswerte verwenden" aktivierst oder deaktivierst.

  • Verwendung von Formeln: Nutze Excel-Formeln wie =DATE(1904,1,1), um sicherzustellen, dass deine Berechnungen unabhängig von den Datumsoptionen funktionieren.


Praktische Beispiele

  • Datumsberechnungen: Wenn du das 1904-Datumsformat verwendest, sollten alle Datumsangaben, die du machst, korrekt interpretiert werden. Zum Beispiel:

    =A1 + 30

    Wenn A1 den Wert 01.01.1904 hat, wird das Ergebnis 31.01.1904 sein, vorausgesetzt, die Datumsoption ist korrekt eingestellt.


Tipps für Profis

  • Verwende Kommentare: Kommentiere deinen VBA-Code, um die Funktionsweise für andere oder für dich selbst zu erläutern.

  • Testen in einer Sandbox: Teste deine Makros in einer Kopie der Arbeitsmappe, um unerwünschte Änderungen an der Originaldatei zu vermeiden.

  • Version prüfen: Achte darauf, dass die Excel-Version deiner Kollegen mit der von dir verwendeten übereinstimmt, da es Unterschiede in der Handhabung der 1904-Datumswerte geben kann.


FAQ: Häufige Fragen

1. Was sind 1904-Datumswerte?
1904-Datumswerte sind eine Methode zur Berechnung von Datumsangaben in Excel, die 4 Jahre nach dem 1. Januar 1900 beginnen. Dies kann zu Verwirrung führen, wenn verschiedene Benutzer unterschiedliche Einstellungen haben.

2. Wie kann ich sicherstellen, dass alle Benutzer das gleiche Datumsformat verwenden?
Die beste Methode ist, die Datumsoption beim Öffnen und Schließen der Arbeitsmappe mit VBA zu toggeln, wie in diesem Tutorial beschrieben. Außerdem sollte jeder Benutzer sicherstellen, dass er die gleiche Excel-Version verwendet.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige