09.06.2017, 18:28
Hallo Leute!
Hab da wieder eine Herausforderung für euch!
Ich habe viele Uf`s erstellt in denen es TextBoxen gibt, wo man ein Datum eintragen kann oder es mit DblClick automatisch einfügt.
Dies funtz nur teilweise.
Habe mir dazu einen Kalender von ### www.excel-werkstatt.de ### heruntergeladen.
Wichtig!
Diesen möchte ich auch gerne nutzen!
Meine frage an euch, wie bekome ich es hin das der Kalender bei DblClick das Datum in die TextBox, die gerade aktiv ist in der Aktuellen UF
die geöffnet ist einträgt?
Mein ansatz ist in dem KlassenModul:
Ist dies möglich?
Und was mach ich FALSCH?
Rest Code:
Kalender Aufrufen aus einem Modul
Ich weiß ihr braucht eine vorlage, aber vieleicht kann mir ja schon einer so Hilfestellung geben.
'
Hab da wieder eine Herausforderung für euch!
Ich habe viele Uf`s erstellt in denen es TextBoxen gibt, wo man ein Datum eintragen kann oder es mit DblClick automatisch einfügt.
Dies funtz nur teilweise.
Habe mir dazu einen Kalender von ### www.excel-werkstatt.de ### heruntergeladen.
Wichtig!
Diesen möchte ich auch gerne nutzen!
Meine frage an euch, wie bekome ich es hin das der Kalender bei DblClick das Datum in die TextBox, die gerade aktiv ist in der Aktuellen UF
die geöffnet ist einträgt?
Mein ansatz ist in dem KlassenModul:
Code:
'### www.excel-werkstatt.de ###
Option Explicit
Public WithEvents Label As MSForms.Label
Private Sub Label_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If isFormLoaded("WartAus") Then
WartAus.tbDatum.Value = CDate(Label.Tag)
ElseIf isFormLoaded("Vorschau") Then
If Vorschau.tbDatumvorschau1 Then
Vorschau.tbDatumvorschau1.Value = CDate(Label.Tag)
Else
Vorschau.tbDatumvorschau2.Value = CDate(Label.Tag)
End If
ElseIf isFormLoaded("Warterst") Then
If Warterst.TextBox28 Then
Warterst.TextBox28.Value = CDate(Label.Tag)
Else
Warterst.TextBox32.Value = CDate(Label.Tag)
End If
End If
Unload KalForm
End Sub
Ist dies möglich?
Und was mach ich FALSCH?
Rest Code:
Kalender Aufrufen aus einem Modul
Code:
'### www.excel-werkstatt.de ###
Option Explicit
Public cKal() As New clsKal
Public aktDat As Date
Function ErsterKW(KW As Integer, Jhr As Integer) As Double
Dim Erstertag As Double
If Month(aktDat) = 1 And KW > 51 Then Jhr = Jhr - 1
Erstertag = DateSerial(Jhr, 1, 1)
Do Until DatePart("WW", Erstertag, 2, 2) = 2
Erstertag = Erstertag + 1
Loop
ErsterKW = DateAdd("WW", KW - 2, Erstertag)
End Function
Private Function KWoche(Datum As Date)
Dim t As Long
t = DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1)
KWoche = ((Datum - t - 3 + (Weekday(t) + 1) Mod 7)) \ 7 + 1
End Function
Sub Füllen()
Dim jCounter As Integer, KWZähler As Integer
Dim Tagzähler As Date
KalForm.Anzeige.Caption = Format(aktDat, "mmmm yyyy")
Tagzähler = ErsterKW(KWoche(DateSerial(Year(aktDat), Month(aktDat), 1)), Year(aktDat))
KWZähler = 1
For jCounter = 1 To 6
KalForm.Controls("Label" & jCounter).Caption = KWoche(DateSerial(Year(aktDat), Month(aktDat), KWZähler))
KWZähler = KWZähler + 7
Next jCounter
For jCounter = 7 To 48
With KalForm.Controls("Label" & jCounter)
.Tag = Tagzähler
.Caption = Format(Tagzähler, "d")
.ForeColor = IIf(Month(Tagzähler) <> Month(aktDat), &HC0C0C0, IIf(Weekday(Tagzähler, 2) > 5, &HFF&, &H0&))
.BackColor = IIf(Tagzähler = Date, &HFFFF&, &HFFFFFF)
End With
Tagzähler = Tagzähler + 1
Next jCounter
End Sub
Ich weiß ihr braucht eine vorlage, aber vieleicht kann mir ja schon einer so Hilfestellung geben.
'
mfg
Michael
:98:
WIN 10 Office 2019
Michael
:98:
WIN 10 Office 2019