MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 14.04.2018, 09:11   #1
Kinimod1984
Neuer Benutzer
Neuer Benutzer
Standard VBA - DatePicker - Marke Eigenbau

Liebes Forum

Bereits in diesem Thema

http://www.ms-office-forum.net/forum...d.php?t=349815

habe ich meinen im MaterialDesign entwickelten DatePicker bereitgestellt. Diesen habe ich nun ein wenig kosmetisch überarbeitet und mit ein paar Zeilen Zusatzcode angereichert. Nun kann das Datum via Button bestätigt werden.

Viel Freude, wer auch immer einen DatePicker gebrauchen kann, und liebe Grüsse aus der sonnigen Schweiz - Nik
Angehängte Grafiken
Dateityp: jpg DatePicker(Nik).JPG (22,9 KB, 27x aufgerufen)
Angehängte Dateien
Dateityp: xlsm DatePicker (Material Design-Forum V2).xlsm (139,3 KB, 22x aufgerufen)

Geändert von Kinimod1984 (14.04.2018 um 09:22 Uhr).
Kinimod1984 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.04.2018, 09:13   #2
Hajo_Zi
MOF Guru
MOF Guru
Standard

ich mache es ohne zusätzliches Add In.

http://www.hajo-excel.de/vba_userform_kalender.htm

GrußformelHomepage

__________________

Signatur in jedem Beitrag
m Forum kann der Beitrag als erledigt markiert werden. Also mache es unten links mit Klick auf den Schalter "als erledigt setzen", falls Problem gelöst.
Der Zustand des Beitrages wird dann in der Übersicht angezeigt und man braucht sich diese Beiträge nicht mehr ansehen.
Bitte Version angeben. Bei keiner Angabe gehe ich von meinen Angaben aus.
Betriebssystem: Windows 10 - 64 Bit, Office 2016 - 32 Bit.
Hajo_Zi ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.04.2018, 10:40   #3
ASE
MOF Profi
MOF Profi
Standard Fehler im DatePicker

Hallo in die Schweiz,
sieht gut aus aber leider hat der Kalender ein Fehler. Wenn man mit dem Cursor über dei Datenpunkte geht verschwinden diese! Siehe Anhang.

Eine Frage noch : Könnte man die Größe beeinflussen?
Angehängte Grafiken
Dateityp: png Fehler-Kalender.png (11,0 KB, 17x aufgerufen)

__________________

Ein gern wiederholter Tipp: Das Hochladen einer Beispieldatei, in der zu sehen ist, wie das Ergebnis aussehen soll, ist immer hilfreich und spart Zeit und Rückfragen!

Grüße aus Nürnberg
Armin
Ich benutze WIN 10 und Office 13
..Wenn alle Fragen geklärt sind, das Thema bitte als "erledigt" markieren....
Bewertung nicht vergessen, danke.
ASE ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.04.2018, 10:53   #4
RPP63neu
MOF Meister
MOF Meister
Standard

Moin auch von mir!
@ASE:
Dein geschildertes Verhalten kann ich nicht nachstellen.
@Kini…:
Das Datum wird als Text übergeben.
Besser also so:
Code:

Worksheets("Tabelle1").Range("A1").Value = CDate(lblSetDate.Caption)
Gruß Ralf

__________________

Meine Logik war nicht fehlerhaft, nur meine Interpretation!
Tuvok
RPP63neu ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.04.2018, 13:46   #5
Kinimod1984
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Lieber Hajo

Vielen Dank und selbstverständlich habe ich mir Deine Kalender längst zu Gemüte führen lassen - diese sind echt toll und weitreichender im Funktionsumfang.

Allerdings musste ich bei Deiner Aussage betreffend "Add In" etwas schmunzeln. Offensichtlich hast Du die Applikation nicht angeschaut, denn auch ich verwende kein Add In. Ich arbeite mit den selben von Microsoft vorgegebenen Standardsteuerelementen wie Du.

Liebe Grüsse - Nik
Kinimod1984 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.04.2018, 13:49   #6
Hajo_Zi
MOF Guru
MOF Guru
Standard

es Stand im Betreff, darauf hatte ich mich verlassen.

Gruß Hajo

__________________

Signatur in jedem Beitrag
m Forum kann der Beitrag als erledigt markiert werden. Also mache es unten links mit Klick auf den Schalter "als erledigt setzen", falls Problem gelöst.
Der Zustand des Beitrages wird dann in der Übersicht angezeigt und man braucht sich diese Beiträge nicht mehr ansehen.
Bitte Version angeben. Bei keiner Angabe gehe ich von meinen Angaben aus.
Betriebssystem: Windows 10 - 64 Bit, Office 2016 - 32 Bit.
Hajo_Zi ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.04.2018, 13:55   #7
Kinimod1984
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Lieber Armin,

Herzlichen Dank für die Rückmeldung.

Jedoch funktioniert auch bei mir die Anwendung tadellos. Die Fehlfunktion lässt sich nicht reproduzieren. Was meinst Du genau, mit

Zitat:

Könnte man die Größe beeinflussen?

Die Grösse, Form, Schriftarten etc. lassen sich beliebig anpassen und modifizieren. Du kannst damit anstellen, was immer Dir gefällt.

__________________________________

Lieber Ralf,

Vielen Dank für den Input. Hab dies so nun angepasst. Noch genialer wäre natürlich, wenn ich Folgendes im Klassenmodul

Code:

DatePicker.lblSetDate.Caption = CDate(Label.Tag)
als Variable speichern und im Modul dann wiederum beim Click-Event des Buttons ausgeben könnte.

Bsp.


KLASSENMODUL
Code:

Dim strSetDate as Var

strSetDate = CDate(Label.Tag)
FORM MODUL

Code:

Private Sub lblButton2_Click()

    Worksheets("Tabelle1").Range("A1").Value = strSetDate

End Sub
Allerdings scheitert das Bsp. schon beim Versuch. Möglicherweise müsste ich die Variable in einer Public Function im Klassenmodul deklarieren. Konnte jedoch nach etlichen Recherchen im grossen weiten Web keine akkurate Lösung herbeiführen...

Geändert von Kinimod1984 (14.04.2018 um 15:50 Uhr).
Kinimod1984 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.04.2018, 17:19   #8
Muller2
MOF User
MOF User
Standard

Hallo,

üblicherweise macht man das mit Eigenschafts-Prozeduren, angenommen Deine Klasse heißt 'clsMyClass'...

Code:

Option Explicit

Private mdtmDate As Date

Private Sub TestProc()
mdtmDate = CDate(Label.Tag)
End Sub

Friend Property Get prpdtmDate() As Date
Let prpdtmDate = mdtmDate
End Property
Code:

Option Explicit

Private Sub lblButton2_Click()
    Dim objMyClass As clsMyClass
    Set objMyClass = New clsMyClass '// steht bei Dir best. an anderer Stelle, hab nicht geguckt...
    Worksheets("Tabelle1").Range("A1").Value = objMyClass.prpdtmDate
End Sub
Gruß, Muller2
Muller2 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.04.2018, 13:40   #9
Kinimod1984
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Lieber Muller2,

Ganz herzlichen Dank für die Anleitung der Eigenschaftsprozedur. Jedoch wird in Zelle "A1" stets das gleiche Datum "00.Jan.1900" ausgegeben.

Die Klasse lautet auf die Bezeichnung "clsLabel". Folgerichtig müsste die Codezeile wie folgt heissen:

Code:

Dim objMyClass As clsLabel
Set objMyClass = New clsLabel
Worksheets("Tabelle1").Range("A1").Value = objMyClass.prpdtmDate
Hab ich irgendetwas vergessen? Vielen Dank im Voraus - lieber Gruss aus der Schweiz

Nik
Kinimod1984 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.04.2018, 16:02   #10
Muller2
MOF User
MOF User
Standard

Hallo,

hab mir jetzt erstmal Dein Werk angeguckt, ok, is ja schonmal ne coole Android-Optik , Du schreibst da ja in ein Dummy-Label lblSetDate und da Du ja ein Label-Array am Start hast, gehen wir umgekehrt vor und nutzen statt des Lese- den Schreibzugriff der Variablen und plazieren sie im Form-Modul...

Dein Klassenmodul clsLabel:
Code:

Option Explicit

Public WithEvents Label As MSForms.Label

Private Sub Label_click()

    Dim ctl As Control
    
    DatePicker.prpdtmDate = CDate(Label.Tag)

'...

End Sub
Dein Form-Modul DatePicker:
Code:

'...

Private mdtmDate As Date
'...

Private Sub lblButton2_Click()

    Worksheets("Tabelle1").Range("A1").Value = mdtmDate
    Unload DatePicker

End Sub

'...

Private Sub UserForm_Initialize()

Dim iCounter
Dim LB As Control
Dim LabelCount1 As Integer

'...

    mdtmDate = Date
    
'...

End Sub

'...

Friend Property Let prpdtmDate(ByVal pvdtmDate As Date)
Let mdtmDate = pvdtmDate
End Property

Und vielleicht mal noch als Hinweis, wenn Du schon mit APIs um Dich schmeißt, achte auf eine saubere Deklaration, hier sind bei Dir die erstgenannten Vars als Variant deklariert, aber ok, sonst wirklich gelungen...
Code:

Private XWNDFORM, XWNDFORMEX As Long
Code:

Dim ISTYLE, hWndForm As Long
Gruß, Muller2
Muller2 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.04.2018, 10:20   #11
nickchris8
Neuer Benutzer
Neuer Benutzer
Standard DataPicker

Servus

Großes Lob toller Kalender, funktioniert tadelos.

Meine Frage wäre, das Datum wird in Zelle A1 eingetragen. Wo finde ich diesen Eintrag würde ihn gerne anpassen oder ändern,oder verviellfältigen ( auf mehrere zellen)
Vielleicht kannst du mir etwas weiterhelfen.

habe gerade die anderen beiträge dazu gelesen, da habe ich einige A1 gefunden werden mal durchschauen

lg rob

Geändert von nickchris8 (16.04.2018 um 10:24 Uhr).
nickchris8 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.04.2018, 12:43   #12
Kinimod1984
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Lieber Muller2,

Wow! Weltklasse! Habe nun die Eigenschaftsprozedur eingebaut und das Dummy-Label entfernt! Funktioniert 1A! Zudem kann ich Dein Code nun für andere Eigenschaften adaptieren - vielen Dank! Auch Danke für den API-Hinweis! Ebenfalls angepasst.

Der Kalender ist nun echt toll geworden und hoffe, er kommt da und dort auch tatsächlich zum Einsatz!

Liebe Grüsse - Nik
Kinimod1984 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.04.2018, 12:45   #13
Mc Santa
MOF Meister
MOF Meister
Standard

Zitat: von Kinimod1984 Beitrag anzeigen

Lieber Muller2,

Wow! Weltklasse! Habe nun die Eigenschaftsprozedur eingebaut und das Dummy-Label entfernt! Funktioniert 1A! Zudem kann ich Dein Code nun für andere Eigenschaften adaptieren - vielen Dank! Auch Danke für den API-Hinweis! Ebenfalls angepasst.

Der Kalender ist nun echt toll geworden und hoffe, er kommt da und dort auch tatsächlich zum Einsatz!

Liebe Grüsse - Nik

Würdest du den letzten Stand mit den Verbesserungen noch einmal hier hochladen? Als Update sozusagen
Kalender sieht gut aus!
VG, Santa

__________________

Nützliches
Wie erstelle ich eine Pivot-Tabelle? (Link)
Alternative (Link ohne YouTube)

Du kannst hilfreiche Beiträge bewerten (Symbol unten links)
Mc Santa ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.04.2018, 12:50   #14
Kinimod1984
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Lieber Rob

Herzlichen Dank für das Lob - dies freut mich natürlich sehr

In der Click-Routine von lblButton2 der Userforms "DatePicker" findest Du die Zellenadressierung. Diese kannst Du nach Belieben anpassen. Auch kannst Du diese Codezeile einfach kopieren und darunter anfügen um auf weitere Zellen zu verteilen. Falls Du den Code von Muller2 nicht übernommen hast, wäre eine Möglichkeit wie folgt vorzugehen:

Code:

Private Sub lblButton2_Click()

    Worksheets("Tabelle1").Range("BELIEBIGE ZELLE").Value = lblSetDate.Caption
    Worksheets("Tabelle1").Range("BELIEBIGE ZELLE").Value = lblSetDate.Caption
    Unload DatePicker

End Sub
Lieber Gruss aus der Schweiz - Nik
Kinimod1984 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.04.2018, 17:29   #15
Kinimod1984
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Lieber Santa

Vielen Dank für das Feedback und sehr gerne befindet sich im Anhang das Update V3 mit dem Code von Muller2. Zudem habe ich den Kalender einen Tick verbreitert und ein kleiner Effekt beim Monatswechsel eingebaut - er steht nun dem Android-Calendar in nichts nach.

Vielen Dank an alle Beteiligten - Stark!
Angehängte Dateien
Dateityp: xlsm DatePicker (Material Design-Forum V3).xlsm (152,5 KB, 8x aufgerufen)
Kinimod1984 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:45 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.