Excel Datumsauswahl

Wie füge ich die Datumsauswahl in Excel ein?

Zum Einfügen eines Dropdown-Kalenders verwenden wir ein ActiveX-Steuerelement,  das "Microsoft Date and Time Picker Control 6.0 (SP6)" ist .

Sie können diese Excel-Vorlage für die Datumsauswahl hier herunterladen - Excel-Vorlage für die Datumsauswahl

Angenommen, wir müssen Daten für Mitarbeiter eines Unternehmens pflegen. Es gibt mehrere Felder wie

  • Emp Code
  • Emp Name
  • Emp Beitrittsdatum
  • Emp Abteilung

Um Daten in MS Excel einzugeben, haben wir das folgende Format erstellt.

Um das Emp-Beitrittsdatum einzugeben, müssen wir einen Dropdown-Kalender erstellen, damit der Benutzer die Beitrittsdaten leichter eingeben kann.

Um einen Dropdown-Kalender zu erstellen, gehen Sie wie folgt vor: 

Wir müssen ein 'ActiveX-Steuerelement' mit dem Namen 'Microsoft Date and Time Picker Control 6.0 (SP6)' einfügen . Zum Einfügen verwenden wir den Befehl 'Einfügen' unter der Gruppe 'Steuerelemente' in 'Entwickler'.

Wenn die Registerkarte "Entwickler" nicht sichtbar ist, führen Sie die folgenden Schritte aus, um sie sichtbar zu machen.

  • Schritt 1: Unter dem ‚Datei‘ Wählen Sie im Menü ‚Optionen‘

  • Schritt 2: Ein Dialogfeld mit dem Namen "Excel-Optionen" wird geöffnet. Wählen Sie am linken Rand des Dialogfelds die Option "Multifunktionsleiste anpassen". Aktivieren Sie das Kontrollkästchen für die Registerkarte "Entwickler" und klicken Sie auf "OK" .

  • Schritt 3: Jetzt sehen wir die Registerkarte "Entwickler" am letzten Rand des Menübands.

  • Schritt 4: Wählen Sie unter ActiveX-Steuerelemente die Option "Weitere Steuerelemente" .

  • Schritt 5: Wählen Sie "Microsoft Date and Time Picker Control 6.0 (SP6)" aus der Liste und klicken Sie auf "OK" .

  • Schritt 6: Klicken Sie auf eine beliebige Stelle im Arbeitsblatt, um den Dropdown-Kalender zu erstellen.

  • Schritt 7: Klicken Sie mit der rechten Maustaste auf "Datumsauswahl" und wählen Sie "Eigenschaften" aus der Liste.

  • Schritt 8: Ändern Sie den Wert für die Eigenschaft 'CheckBox' von 'False' in 'True' , damit auch Nullwerte akzeptiert werden können. Schließen Sie das Dialogfeld "Eigenschaften" .

  • Schritt 9: Klicken Sie erneut mit der rechten Maustaste auf Datumsauswahl und wählen Sie im Kontextmenü die Option "Code anzeigen".

  • Schritt 10: In 'Visual Basic Editor' können wir sehen, dass bereits Code geschrieben wurde. Ersetzen Sie den Code durch den folgenden Code.

Code:

 Private Sub Worksheet_SelectionChange (ByVa l Ziel als Bereich) mit Sheet1.DTPicker1 .Height = 20 .Width = 20 Wenn nicht überschneiden (Ziel, Bereich ("C: C")) ist nichts dann .Visible = True .Top = Target.Top .Left = Target.Offset (0, 1) .Left .LinkedCell = Target.Address Else .Visible = False End If End With End Sub 

  • Schritt 11: Die erste Anweisung im Code weist den MS Excel Compiler an, den Code auszuführen, wenn eine neue Zelle ausgewählt wird (Auswahl wird geändert). Die ausgewählte Zelle wird als 'Ziel' an die Unterprozedur gesendet .
 Private Sub Worksheet_SelectionChange (ByVal-Ziel als Bereich)
  • Schritt 12: Mit diesen Anweisungen werden Höhe und Breite der Datumsauswahl in Excel auf 20 Punkte festgelegt. Es ist zu beobachten, dass wir den Operator 'With' verwendet haben , damit wir nicht immer wieder auf DTPicker1 verweisen müssen .
 Mit Sheet1.DTPicker1 .Height = 20 .Width = 20
  • Schritt 13: Die folgende 'If'- Klausel legt die Kriterien fest , nach denen nur dann die Datumsauswahl sichtbar wird , wenn eine Zelle in der Spalte ' C ' ausgewählt wird. Wir haben die Funktion 'Intersect' verwendet, da diese Funktion prüft, ob wir eine Zelle in der Spalte C ausgewählt haben. Diese Funktion gibt dann die Adresse zurück, andernfalls wäre der Wert null.
 Wenn sich nicht überschneiden (Ziel, Bereich ("C: C")), ist nichts .Visible = True 
  • Schritt 14: Die Eigenschaft 'Top' der Datumsauswahl wird gleich dem Eigenschaftswert 'Top' der ausgewählten Zelle gesetzt. Dies bedeutet, dass dies mit dem oberen Rand der ausgewählten Zelle einhergeht.
.Top = Target.Top
  • Schritt 15: Mit dieser Anweisung wird die linke Eigenschaft der Datumsauswahl gleich der der nächsten rechten Zelle der ausgewählten Zelle gesetzt (Abstand des linken Randes der D-Spalte von der äußersten linken Seite des Arbeitsblatts). Um die Referenz der nächsten rechten Zelle zu erhalten, haben wir die Funktion 'Offset' mit 0 als Zeilenargument und 1 als Spaltenargument verwendet, da dies eine Referenz auf die Zelle in der nächsten Spalte erhält.
.Left = Target.Offset (0, 1) .Left
  • Schritt 16: Diese Anweisung verknüpft die Datumsauswahl mit der Zielzelle, sodass der Wert im Dropdown-Kalender ausgewählt wird, der in der Zelle angezeigt wird.
.LinkedCell = Target.Address
  • Schritt 17: Die Anweisung 'Else' weist den Compiler an, die Datumsauswahl nicht anzuzeigen, wenn eine Zelle außer der in der Spalte C ausgewählt ist.
Sonst .Visible = False
  • Schritt 18: Am Ende schließen wir das 'Wenn'
 End If 
  • Schritt 19: Endlich müssen wir 'Mit' schließen.
 Ende mit 
  • Schritt 20: Nun endet die Unterprozedur.
 End Sub 

Stellen Sie sicher, dass wir die Datei mit der Erweiterung '.xlsm' speichern, da sie den von uns geschriebenen VBA-Code speichert und wir diesen Code ausführen können, wenn eine Zelle in der Spalte C ausgewählt ist.

Immer wenn wir eine Zelle in der Spalte 'C' auswählen, sehen wir einen Dropdown-Kalender in der oberen rechten Ecke der ausgewählten Zelle. Sie können den Dropdown-Kalender öffnen, indem Sie auf das Abwärtspfeilsymbol klicken.

Wir müssen auf ein beliebiges Datum im Kalender des ausgewählten Monats klicken, um dieses Datum in die ausgewählte Zelle einzugeben.

Mit der Pfeiltaste links und rechts im Kalender können Sie den Monat auf den vorherigen oder nächsten Monat ändern.

Wir können auch auf den Monat klicken, um einen Monat aus der Dropdown-Liste auszuwählen.

Sie können das Jahr auch ändern, indem Sie auf das Jahr klicken und dann mit den Aufwärts- und Abwärtspfeilen das gewünschte auswählen.

Dinge, an die man sich erinnern sollte

  • 'Microsoft Date and Time Picker Control 6.0 (SP6)' ist für die 64-Bit-Version von MS Excel nicht verfügbar.
  • Nach dem Schreiben des VBA-Codes müssen wir die Datei mit der Erweiterung '.xlsm' (Excel Macro-Enabled Workbook) speichern, da sonst der VBA-Code nicht ausgeführt wird.