Bei der Eingabe von Datumsangaben in ein Arbeitsblatt bietet Excel einen erheblichen Spielraum für die Eingabe. Ein Bereich, in dem Spielraum gewährt wird, ist die Einbeziehung eines Jahres. Wenn Sie ein Jahr angeben (z. B. 02.03.08), ist das großartig. Wenn Sie kein Jahr angeben (z. B. 3/2), fügt Excel das aktuelle Jahr hilfreich zu dem hinzu, was Sie eingeben.

Meistens ist dies kein Problem. Es kann jedoch ein Problem für diejenigen sein, die Daten eingeben, die bis zum letzten Jahr „umlaufen“. Beispielsweise geben viele Personen Daten für die letzten ein oder zwei Monate in ihre Arbeitsblätter ein. In den meisten Monaten ist dies kein Problem, da der letzte oder zweite Monat im selben Jahr wie der aktuelle Monat liegt. Es kann jedoch im Januar und Februar ein Problem sein, wenn Sie Daten aus dem November und Dezember des Vorjahres eingeben.

Eine Lösung besteht darin, bei der Eingabe eines Datums immer das Jahr einzugeben. Es ist unbestreitbar schneller, das Jahr während der Dateneingabe frei zu lassen und Excel zu erlauben, es Ihrer Eingabe hinzuzufügen. Daher wäre es schön, eine Möglichkeit zu finden, Daten in den ersten beiden Monaten des Jahres einzugeben und das Vorjahr an sie anzuhängen.

Eine Möglichkeit, dies zu handhaben, besteht darin, das Systemdatum auf Ihrem Computer zu ändern.

Verringern Sie unter Windows das Systemdatum um ein Jahr. Dann ändern sich alle von Ihnen eingegebenen Daten auf das letzte Jahr. Dies hat jedoch Auswirkungen auf andere Programme, es sei denn, Sie denken daran, das Systemdatum zurück zu ändern.

Es kann auch Ihre Dateneingabe durcheinander bringen, wenn Sie Ende Januar und Anfang Februar Daten aus diesem Jahr eingeben und Excel das Jahr des letzten Jahres automatisch an diese anhängt.

Um etwas Komplexeres zu tun, muss ein Makro verwendet werden.

Betrachten Sie das folgende Beispiel, das dem Codefenster für ein Arbeitsblatt hinzugefügt werden sollte:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count > 1 Then Exit Sub     If Target = "" Then Exit Sub     If Target.Column <> 1 Then Exit Sub

If DateValue(Target) > Date Then         Application.EnableEvents = False             Target = DateAdd("yyyy", -1, Target)

Application.EnableEvents = True     End If End Sub

Dieses Makro wird automatisch ausgeführt, wenn sich das Arbeitsblatt ändert. Wenn sich die Änderung auf eine einzelne Zelle in Spalte A bezieht und ein Datum eingegeben wird, das größer als das heutige Datum ist, wird ein Jahr von dem eingegebenen Datum abgezogen.

Dies funktioniert hervorragend, vorausgesetzt, Sie geben routinemäßig Daten ein, die entweder innerhalb des letzten Jahres oder der bisherigen Monate des aktuellen Jahres liegen. Wenn Sie speziell ein Datum für die ferne Zukunft hinzufügen (z. B. die Eingabe des 11.06.17 am 02.03.16), wird das Jahr immer noch um eins erhöht. Das Makro könnte natürlich geändert werden, um zu überprüfen, ob das eingegebene Datum in den letzten zwei Monaten eines Jahres liegt und ob das Datum tatsächlich in den ersten zwei Monaten eines Jahres eingegeben wird, bevor die Dekrementierung von vorgenommen wird das Jahr.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (3360) gilt für Microsoft Excel 97, 2000, 2002 und 2003.