Wie kann man in eine Zelle ein Datum aus einem Kalender eintragen?

Um so eine Datumseingabe zu realisieren, benötigt man ein kleines VBA-Makro und ein Formular:

1. Formular: frmCal mit einem Kalender-Steuerelement
Code:
        Private Sub Calendar1_Click()
           ActiveCell.Value = DateSerial(Calendar1.Year, Calendar1.Month, _
              Calendar1.Day)
           Unload Me
        End Sub
        
Nach der Auswahl eines Datums wird dieses in die aktuelle Zelle übernommen. Das Formular wird dann wieder geschlossen.

2. In das Codefenster der jeweiligen Tabelle (nicht als extra Modul) folgenden Code eintragen
        Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        ' Zellen in einer bestimmten Zelle
           If Target.Address = "$A$1" Then frmCal.Show
    
           'Zellen in einer bestimmten Spalte
           If Target.Column = 2 Then frmCal.Show
    
           'Zellen in einer bestimmten Zeile
           If Target.Row = 1 Then frmCal.Show
        
         End Sub
         
Aktualisieren Sie die von Ihnen gewünschten Zeilen / Spalten. Nach Klicken in den definierten Bereich wird das Formular frmCal angezeigt.

Um den Kalender mit dem aktuellen Datum zu starten, müssen die Anfangswerte gesetzt werden:
         Private Sub Worksheet_SelectionChange(ByVal Target As Range)
           Dim Jahr
           Dim Monat
           Dim Tag
    
           Jahr = Year(Now())
           Monat = Month(Now())
           Tag = Day(Now())
    
           If ActiveCell.Column = 5 Then
              frmCal.Calendar1.Year = Jahr
              frmCal.Calendar1.Month = Monat
              frmCal.Calendar1.Day = Tag
              frmCal.Show
           End If
    
       End Sub

Das Kalender-Steuerelement ist normalerweise Bestandteil der Office-Installation. Sollte das auf einem Rechner nicht vorhanden sein, so kann man die Datei mscal.ocx (in Abhängigkeit der verwendeten Version) nachladen. (E:\Program Files\Microsoft Office\Officenn) Danach muss die ocx-Datei registriert werden:

regsvr32 mscal.ocx

Nach einem Neustart des Programms sollte das Kalenderelement verfügbar sein.

-- KerstinSchiebel - 10 Aug 2005
Topic revision: r4 - 2009-12-17, KerstinSchiebel
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki? Send feedback
Imprint (in German)
Privacy Policy (in German)