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

Forumthread: Userform Excel-Datepicker Kalender

Userform Excel-Datepicker Kalender
09.03.2020 08:47:02
volti
Liebe Forumsteilnehmer,
aus gegebenen Anlass habe ich mir (aufbauend auf im Netz vorhandener Beispiele) eine eigene Userform Excelkalender (Datepicker / Weekpicker) erstellt.
Diesen stelle ich hier im Forum einfach mal zur freien Verfügung, für alle, die so etwas ggf. auch brauchen können.

Besonderheiten:
Neben der Wahl eines Datums (Linksclick) und der Wahl eines Datumsbereichs (Rechtsclick) kann auch eine Woche oder ein Wochenbereich ausgewählt werden.
Auch ist die gemischte Wahl einer Woche und eines Datums sowie des Monats möglich.
Die Monats- und Jahresverschiebung ist natürlich auch über die entsprechenden Buttons eingebaut.
Als Besonderheit werden auch die Feiertage (Deutschland) hervorgehoben dargestellt und bei MouseOver textlich angezeigt.
Ich persönlich fand es schick, den Caption wegzublenden, um so einen optimal genutzen Bereich zu haben.
Trotzdem kann man aber bei Bedarf den Kalender mit Klick auf die linke Maustaste im oberen Bereich der Userform an eine beliebige Stelle verschieben.
Wer sich den Datepicker als AddIn mit einem Button im Tab "Formeln" in der Ribbonleiste aufnehmen möchte: Kein Problem...
Oder ihr erweitert die Userform mit eigenen Ideen oder kopiert die entsprechenden Codeteile in Eure eigene Userform...
PS: Das Ergebnis der Wahl wird standardmäßig in die Zwischenablage kopiert, kann aber auch direkt aus den Textboxen extrahiert werden.
Excel_Datepicker.zip
viel Spaß damit
Karl-Heinz
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Excel-Datepicker Kalender
09.03.2020 09:27:16
Oberschlumpf
Hi Karl-Heinz,
Coole Idee! Danke schön!
Ciao
Thorsten
AW: Userform Excel-Datepicker Kalender
09.03.2020 10:19:34
volti
Danke Thorsten,
für die Rückmeldung. Hat irgendwie auch Spaß gemacht, das mal zu programmieren, auch wenn es vielleicht schon andere Versionen gibt... :-)
VG KH
AW: Userform Excel-Datepicker Kalender
09.03.2020 11:20:46
Oberschlumpf
Hallo Karl-Heinz,
ich war mit meiner 1. Meldung etwas vorschnell, oder anders ausgedruckt:
Ich finde deine Idee cool, hatte mir die Datei aber gar nicht angeschaut :-/
Auch bei mir kam es mit deiner 1. Datei zu dem von Luschi beschriebenen Fehler.
Aber jetzt, mit deiner 2. Datei funzt alles wie es soll! :-)
Ciao
Thorsten
Anzeige
AW: Userform Excel-Datepicker Kalender
09.03.2020 09:47:22
Luschi
Hallo Karl-Heinz,
bei mir mit Win10-1903 64bit und Office 2019 pro+ 32bit kommt der folgende Fehler:
Userbild
Gruß von Luschi
aus klein-Paris
AW: Userform Excel-Datepicker Kalender
09.03.2020 10:16:06
volti
Danke Luschi,
dass Du das getestet hast. Ich habe leider kein 32Bit mehr und will es mir auch nicht extra installieren.
Kann es daher auch nicht testen.
Kannst Du bitte mal schauen, ob es damit besser funktioniert, denn bei 32-Bit dürfte nicht GetWindowLongPtr A kommen...
'### Zusatzfunktionen Caption weg
Sub Caption_Weg(UF As Object)
'Entfernen des Caption der Userform
 Dim tRect As RECT, Pt As POINTAPI
 hWnd = FindWindow(vbNullString, UF.Caption)     'Handle besorgen
 If hWnd > 0 Then
  GetWindowRect hWnd, tRect                      'Position und Maße der UF
#If VBA7 And Win64 Then
  frmStyle = GetWindowLongPtr(hWnd, GWL_STYLE)   'Style besorgen
#Else
  frmStyle = GetWindowLong(hWnd, GWL_STYLE)      'Style besorgen
#End If
  If (WS_CAPTION And frmStyle) = 0 Then Exit Sub 'Caption ist schon weg =>raus
  frmStyle = frmStyle And Not WS_CAPTION
#If VBA7 And Win64 Then
  SetWindowLongPtr hWnd, GWL_STYLE, frmStyle     'Neuen Style setzen
#Else
  SetWindowLong hWnd, GWL_STYLE, frmStyle        'Neuen Style setzen
#End If
  With tRect
   Pt.x = .Left + 4: Pt.y = .Top + 34            'UF neu positionieren
   SetWindowPos hWnd, 0, Pt.x, Pt.y, .Right - Pt.x - 8, .Bottom - Pt.y - 8, 0
  End With
 End If
End Sub

viele Grüße
Karl-Heinz

Anzeige
AW: Userform Excel-Datepicker Kalender
09.03.2020 10:56:17
volti
Hi Luschi,
ist doch etwas komplizierter mit dem WindowLong.
Hier mal vorab eine neue Version. Vielleicht kannst Du sie ja mal ausprobieren..
https://www.herber.de/bbs/user/135715.xlsb
VG KH
AW: Userform Excel-Datepicker Kalender
09.03.2020 12:24:32
volti
Update: Jetzt auch für Win 10, 32-Bit
Liebe Forumsteilnehmer,
aus gegebenen Anlass habe ich mir (aufbauend auf im Netz vorhandener Beispiele) eine eigene Userform Excelkalender (Datepicker / Weekpicker) erstellt.
Diesen stelle ich hier im Forum einfach mal zur freien Verfügung, für alle, die so etwas ggf. auch brauchen können.

Besonderheiten:
Neben der Wahl eines Datums (Linksclick) und der Wahl eines Datumsbereichs (Rechtsclick) kann auch eine Woche oder ein Wochenbereich ausgewählt werden.
Auch ist die gemischte Wahl einer Woche und eines Datums sowie des Monats möglich.
Die Monats- und Jahresverschiebung ist natürlich auch über die entsprechenden Buttons eingebaut.
Als Besonderheit werden auch die Feiertage (Deutschland) hervorgehoben dargestellt und bei MouseOver textlich angezeigt.
Ich persönlich fand es schick, den Caption wegzublenden, um so einen optimal genutzen Bereich zu haben.
Trotzdem kann man aber bei Bedarf den Kalender mit Klick auf die linke Maustaste im oberen Bereich der Userform an eine beliebige Stelle verschieben.
Wer sich den Datepicker als AddIn mit einem Button im Tab "Formeln" in der Ribbonleiste aufnehmen möchte: Kein Problem...
Oder ihr erweitert die Userform nach Gutdünken oder kopiert die entsprechenden Codeteile in Eure eigene Userform...
PS: Das Ergebnis der Wahl wird standardmäßig in die Zwischenablage kopiert, kann aber auch aus den Textboxen extrahiert werden.
Daten_Picker
viel Spaß damit
Karl-Heinz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel Userform Datepicker: Einfache Anleitung zur Implementierung


Schritt-für-Schritt-Anleitung

Um einen Excel Datepicker in einer Userform zu integrieren, folge diesen Schritten:

  1. Userform erstellen:

    • Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Klicke auf Einfügen > UserForm, um eine neue Userform zu erstellen.
  2. Datepicker hinzufügen:

    • Füge einen Button zur Userform hinzu. Dieser Button wird verwendet, um den Datepicker zu aktivieren.
    • Füge ein Textfeld hinzu, um das ausgewählte Datum anzuzeigen.
  3. VBA Code einfügen:

    • Klicke mit der rechten Maustaste auf die Userform und wähle Code anzeigen.
    • Füge den folgenden Code hinzu, um den VBA Datepicker zu aktivieren:
    Private Sub CommandButton1_Click()
       Dim selectedDate As Date
       selectedDate = Application.InputBox("Bitte wähle ein Datum:", "Datum auswählen", Date, Type:=1)
       If selectedDate <> 0 Then
           TextBox1.Value = selectedDate
       End If
    End Sub
  4. Testen:

    • Schließe den VBA-Editor und kehre zu Excel zurück.
    • Füge die Userform zu einem Modul hinzu und führe sie aus, um den Datepicker zu testen.

Häufige Fehler und Lösungen

  • Fehler: "Kompilierungsfehler":

    • Stelle sicher, dass alle benötigten Bibliotheken in den Verweisen aktiviert sind. Gehe zu Extras > Verweise und überprüfe, ob die erforderlichen Bibliotheken angehakt sind.
  • Fehler: Der Datepicker funktioniert nicht:

    • Überprüfe, ob der VBA Code korrekt eingegeben wurde. Achte auf Tippfehler und Syntaxfehler.
  • Fehler bei 32-Bit vs. 64-Bit:

    • Wenn du Excel VBA Datepicker 64 Bit verwendest, achte darauf, dass du die richtigen API-Deklarationen verwendest. Nutze GetWindowLongPtr für 64-Bit und GetWindowLong für 32-Bit.

Alternative Methoden

Wenn du eine Alternative zum VBA Datepicker suchst, kannst du auch folgende Optionen in Betracht ziehen:

  • Excel Datepicker Add-In:

    • Lade ein Excel Date Picker Add-in herunter, um eine visuelle Auswahl für Daten zu erhalten. Beispiele sind das excel date picker download deutsch Add-In.
  • HTML Datepicker:

    • Verwende ein HTML-Datepicker-Element, wenn du Excel mit Webtechnologien kombinierst.

Praktische Beispiele

Hier sind einige nützliche Beispiele, wie du den Datepicker in Excel einsetzen kannst:

  1. Datumsbereich auswählen:

    ' Beispielcode für die Auswahl eines Datumsbereichs
    Private Sub CommandButton2_Click()
       Dim startDate As Date
       Dim endDate As Date
       startDate = Application.InputBox("Bitte wähle ein Startdatum:", "Startdatum auswählen", Date, Type:=1)
       endDate = Application.InputBox("Bitte wähle ein Enddatum:", "Enddatum auswählen", Type:=1)
       If startDate <> 0 And endDate <> 0 Then
           TextBox2.Value = startDate & " bis " & endDate
       End If
    End Sub
  2. Wochenbereich auswählen:

    • Ändere die Logik im Code, um auch Wochen auszuwählen, indem du die Datumsberechnung anpasst.

Tipps für Profis

  • Userform anpassen:

    • Experimentiere mit der Gestaltung und den Eigenschaften deiner Userform, um die Benutzererfahrung zu verbessern. Du kannst z.B. die Caption der Userform ausblenden, um mehr Platz für den Datepicker zu schaffen.
  • Feiertage berücksichtigen:

    • Füge eine Funktion hinzu, die Feiertage in Deutschland hervorhebt, um die Nutzung zu erleichtern.
  • Code optimieren:

    • Verwende Option Explicit, um sicherzustellen, dass alle Variablen deklariert sind, was die Fehlersuche erleichtert.

FAQ: Häufige Fragen

1. Wie kann ich einen Datepicker in eine bestehende Userform einfügen? Du kannst den oben beschriebenen Code in die bestehende Userform integrieren und die Steuerelemente entsprechend anpassen.

2. Gibt es eine Möglichkeit, einen Datepicker ohne Add-In zu verwenden? Ja, du kannst den Datepicker mit VBA selbst erstellen, wie in der Schritt-für-Schritt-Anleitung beschrieben.

3. Funktioniert der Datepicker in Excel 2016? Ja, die beschriebenen Methoden funktionieren auch in Excel 2016 und neueren Versionen. Achte darauf, die richtigen API-Deklarationen für deine Excel-Version zu verwenden.

4. Wo kann ich ein Excel Datepicker Add-In herunterladen? Du kannst verschiedene Add-Ins online finden, z.B. über die Microsoft Office Add-Ins-Seite oder andere vertrauenswürdige Quellen.

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