Anzeige
Archiv - Navigation
1900to1904
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

DatePicker mit Labels

DatePicker mit Labels
12.10.2022 08:17:18
Henry
Hallo liebes Forum,
ich habe im Internet eine Möglichkeit gefunden wie man einen Datepicker mit Hilfe einer Userform erstellen kann.
Derjenige, der den Code erstellt hat, hat bei den Kalendertagen mit sehr vielen Frames gearbeitet.
Zwar funktioniert der DatePicker; allerdings führen die zahlreichen Frames dazu, dass der Code sehr langsam ist.
Meine Datei für einen Datepicker mit Frames findet ihr hier:
https://www.herber.de/bbs/user/155606.xlsm
Ich habe also in einem nächsten Schritt anstelle der Frames Labels erstellt.
Problem ist hier, dass der Code noch angepasst werden muss.
Wie kann ich es hinbekommen, dass in dem folgenden Code-Abschnitt nur die Labels 14 bis 55 angesprochen werden?
Hintergrund ist, dass in der Userform auch andere Labels sind, die nicht angesprochen werden dürfen.
Dim Frame As Control
For Each Frame In UserForm1.Controls
If TypeName(Frame) = "Frame" Then
i = i + 1
Frame.Caption = Format(Day(firstday + i), "0#")
If MonthName(Month(firstday + i)) = UserForm1.Label6 Then
Frame.Enabled = True
Else
Frame.Enabled = False
End If
End If
Next
End Sub
Eine Beispieldatei von mir mit den Labels findet ihr hier:
https://www.herber.de/bbs/user/155607.xlsm

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: DatePicker mit Labels
12.10.2022 08:48:47
Alwin
Hallo Henry,
ich habe mir deine Datei nicht angeschaut. Da ich vor einiger Zeit mich selbst mal dieser Sache angenommen hatte, lade ich meine gebastelte Version mal hoch.
Da kann man auch gleich noch die Feiertage des jeweiligen Bundeslandes mit auswählen. Ich hatte mal eine bereits angefangene Version aus dem Netz aufgegabelt und die Fehler weggemacht und die vielen fehlenden/unvollständigen Dinge ergänzt und gebaut.
Teste mal.
https://www.herber.de/bbs/user/155608.zip
Gruß Uwe
AW: DatePicker mit Labels
12.10.2022 08:53:20
Henry
Hallo Uwe,
vielen Dank für deine Nachricht.
Für meine Zwecke ist dein Datepicker jedoch glaube ich zu umfangreich.
Kannst du mir vielleicht helfen meinen Code für die Labels 14 bis 55 abzuwandeln?
Viele Grüße
Henry
Anzeige
AW: DatePicker mit Labels
12.10.2022 08:53:26
volti
Hallo Henry,
wenn Du so viele Labels in Deiner Userform bedienen musst, bietet sich auch Klassenprogrammierung an, bei der mit einer Sub alle Labels abgearbeitet werden können.
Ein Beispiel findest Du in meinem hier vor langer Zeit mal eingestellten Date-Picker.
Date-Picker
Gruß Karl-Heinz
AW: DatePicker mit Labels
12.10.2022 08:59:03
Henry
Hallo Karl-Heinz,
vielen Dank für deine Nachricht.
Ich denke, dass mir dein DatePicker für meine Zwecke zu umfangreich ist.
Kannst du mir vielleicht helfen meinen Code so anzupassen, dass nur die Labels 14 bis 55 angesprochen werden?
Über deine Hilfe würde ich mich freuen.
Viele Grüße
Henry
Anzeige
AW: DatePicker mit Labels
12.10.2022 09:43:22
Oberschlumpf
Hi Henry
grundsätzlich find ich erst mal gut, dass du alle Frames entfernt und durch Labels ersetzt hast!
Um bei so vielen Labels die Übersicht zu behalten, würd aber ich als erstes erst mal damit beginnen, dass die Labelnamen nicht einfach Label14...Label55 heißen.
Ich würde die Namen genau dieser Labels umbenennen in
lblTag01
lblTag02
...
lblTag42
So kann ich bei der Wertzuweisung (Tageszahl) für jedes dieser Labels schon mal eingrenzen, z Bsp so

Dim lctrlbl As Control
For Each lctrlbl In UserForm1.Controls
If Typename(lctrlbl) = "Label" Then
If Left(lctrlbl.Name, 6) = "lblTag" And IsNumeric Right(lctrlbl.Name, 2) Then 'genau JETZT! hab ich eins der Labels, die eine Tageszahl erhalten müssen
'und hier dann der entsprechende Code
End If
End If
Next
...und "meinen" Tages-Labels die entsprechende Tageszahl zuweisen; eben z Bsp nach einem Jahres- und/oder Monatswechsel.
Zusätzlich könnte ich im gleichen Codeabschnitt auch noch überprüfen, ob es sich um einen Feiertag handelt. Wenn ja, dann für das Label z Bsp andere Text- oder Hintergrundfarbe, oder oder oder...
Leider kann ich nur mit Theorie helfen, aber nicht mit Praxis :-) weil ich noch andere Dinge erledigen muss.
Hoffe aber, dass ich trotzdem helfen konnte.
Ciao
Thorsten
Anzeige
AW: DatePicker mit Labels
12.10.2022 09:46:27
Rudi
Hallo,

Sub Assigndate()
Dim objCONTROL As Control
Dim FirstSun As Date, FirstDay As Date, a As Date
Dim i As Integer
a = DateValue("1 " & UserForm1.Label6 & " " & UserForm1.Label5)
FirstSun = a - Day(a) - Weekday(a - Day(a), vbSunday) + 8
If Day(FirstSun + 1) 
Gruß
Rudi
AW: DatePicker mit Labels
12.10.2022 09:54:15
Henry
Hallo Rudi,
vielen Dank.
Es klappt perfekt.
Viele Grüße
Henry
AW: DatePicker mit Labels
12.10.2022 10:10:54
Oberschlumpf
...und die UNübersichtlichkeit bzgl der Tages-Labels bleibt :-)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige