Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datum um das Jahr vervollständigen

Datum um das Jahr vervollständigen
Miriam
Hallo zusammen,
frohe Weihnachten wünsche ich.
Ich nutze folgenden Code, den mir Sepp netterweise erstellt hat.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
On Error GoTo ErrExit
If Not Intersect(Target, Range("B7:B500")) Is Nothing Then
Application.EnableEvents = False
For Each rng In Intersect(Target, Range("B7:B500"))
If rng  "" Then rng = DateSerial(Range("B1"), Range("B2"), rng)
Next
End If
ErrExit:
Application.EnableEvents = True
End Sub

Nun würde ich für eine andere Datei gerne eine Änderung des Codes vornehmen. Genauer gesagt soll nach der Eingabe Tag+MOnat nur noch aktuelle Jahr vervollständigt werden. Leider kann ich den Code nicht anpasssen.
Wer kann mir helfen?
Viele Grüße
Miriam
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Datum um das Jahr vervollständigen
25.12.2010 18:19:33
ransi
HAllo Miriam
Teste doch mal dies:
If rng <> "" Then rng = DateSerial(Range("B1"), Range("B2"), Year(Now))

ransi
Anzeige
AW: Datum um das Jahr vervollständigen
25.12.2010 19:14:55
Josef
Hallo Miriam
Warum nicht einfach die Spalte als Datum formatieren, dann kannst du einfach Tag plus Punkt plus Monat eingeben und Excel ergänzt das aktuelle Jahr ohne Makro.
Gruss Sepp
Datum um das Jahr vervollständigen
25.12.2010 19:15:31
Erich
Hi,
probier mal

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
On Error GoTo ErrExit
If Not Intersect(Target, Range("B7:B500")) Is Nothing Then
Application.EnableEvents = False
For Each rng In Intersect(Target, Range("B7:B500"))
If rng  "" Then rng = DateSerial(Range("B2"), Month(rng), Day(rng))
Next
End If
ErrExit:
Application.EnableEvents = True
End Sub
Der Code geht davon aus, dass das gewüschte Jahr in B2 steht.
Wenn du TT.MM oder T.M oder ähnlich eingibst, wird Excel automatisch das aktuelle Jahr ergänzen
und ein gültiges Datum in die Zelle schreiben.
Wenn du das aktuelle Jahr haben willst, brauchst du überhaupt keine VBA-Routine.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Datum um das Jahr vervollständigen
26.12.2010 13:09:20
Miriam
Hallo Erich,
funktioniert prima. Vielen Dank!
Auch den anderen vielen Dank für die Hilfe!
Viele Grüße
Miriam
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Datum automatisch vervollständigen in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und lade die Datei, in der du das Datum automatisch vervollständigen möchtest.
  2. Öffne den VBA-Editor:
    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Füge den Code ein:
    • Wähle das entsprechende Arbeitsblatt aus.
    • Klicke mit der rechten Maustaste auf das Arbeitsblatt im Projektfenster und wähle „Code anzeigen“.
    • Füge den folgenden VBA-Code ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range
    On Error GoTo ErrExit
    If Not Intersect(Target, Range("B7:B500")) Is Nothing Then
        Application.EnableEvents = False
        For Each rng In Intersect(Target, Range("B7:B500"))
            If rng <> "" Then 
                rng = DateSerial(Year(Now), Month(rng), Day(rng))
            End If
        Next
    End If
ErrExit:
    Application.EnableEvents = True
End Sub
  1. Speichere die Datei als Makro-fähige Arbeitsmappe (.xlsm).
  2. Teste die Eingabe in den Zellen B7 bis B500, indem du Tag und Monat eingibst. Excel ergänzt automatisch das aktuelle Jahr.

Häufige Fehler und Lösungen

  • Fehler: Das Datum wird nicht korrekt angezeigt:

    • Stelle sicher, dass die Zellen in der Spalte B als Datum formatiert sind.
  • Fehler: VBA-Code funktioniert nicht:

    • Überprüfe, ob die Makros in deiner Excel-Installation aktiviert sind. Du kannst dies unter Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter tun.

Alternative Methoden

Eine einfache Möglichkeit, das Excel-Datum automatisch zu vervollständigen, ohne VBA zu verwenden, ist das Formatieren der Zellen als Datum.

  1. Markiere die Zellen in der Spalte, in denen du das Datum eingeben möchtest.
  2. Rechtsklick und wähle „Zellen formatieren“.
  3. Wähle unter „Zahlen“ die Kategorie „Datum“ und wähle das gewünschte Datumsformat.

Jetzt kannst du einfach das Datum im Format „Tag.Monat“ eingeben, und Excel ergänzt das aktuelle Jahr automatisch.


Praktische Beispiele

  • Beispiel 1: Wenn du in Zelle B7 „15.03“ eingibst, wird Excel dies automatisch als „15.03.2023“ interpretieren (vorausgesetzt, das aktuelle Jahr ist 2023).
  • Beispiel 2: Wenn das Jahr in Zelle B2 steht, kannst du den Code anpassen, um das Jahr aus dieser Zelle zu verwenden:
rng = DateSerial(Range("B2"), Month(rng), Day(rng))

Tipps für Profis

  • Nutze Datenüberprüfung in Excel, um sicherzustellen, dass nur gültige Datumsangaben eingegeben werden.
  • Experimentiere mit benutzerdefinierten Formaten, um das Erscheinungsbild der Datumsangaben nach deinen Wünschen zu gestalten.
  • Verwende die Funktion Wochentag() in Kombination mit deinem Datum, um weitere Analysen durchzuführen, wie z.B. die Ermittlung von Arbeitstagen.

FAQ: Häufige Fragen

1. Kann ich das Jahr manuell ändern?
Ja, du kannst den Code anpassen, um ein beliebiges Jahr zu verwenden, indem du das Jahr in eine Zelle eingibst und den Code entsprechend anpasst.

2. Funktioniert das auch in älteren Excel-Versionen?
Ja, die beschriebenen Methoden funktionieren in den meisten Excel-Versionen, die VBA unterstützen, wie Excel 2010, 2016 und neuer.

3. Was passiert, wenn ich ein ungültiges Datum eingebe?
In diesem Fall wird Excel eine Fehlermeldung anzeigen. Es ist wichtig, die Zellen korrekt zu formatieren und sicherzustellen, dass nur gültige Datumsformate eingegeben werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige