AW: Kleine Frage noch
09.02.2024 12:42:57
Alwin Weisangler
ins Modul des Tabelleblattes:
Option Explicit
' Diese Prozedur lässt den Datepicker auf das in der Zelle enthaltene Datum springen
' Falls nur der einfache Aufruf reicht und nicht zum bestehenden Datum
' in der Zelle gesprungen werden soll, reicht Frm_DatePicker.Show
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("B2:B500")) Is Nothing Then
xZelle = Target.Cells.Top - (Target.Cells.Top * 0.6) ' ggf. eigenen Wünschen anpassen
yZelle = Target.Cells.Left + (Target.Cells.Width * 1.5) ' ggf. eigenen Wünschen anpassen
If ActiveCell > "" Then
With Frm_DatePicker
.Monat = Format(CDate(ActiveCell), "mmmm")
.Jahr = Year(CDate(ActiveCell))
FeiertageBL
LBBundeslaender
Datum_ermitteln
.LabelsTipLeeren
End With
varAktuellerMonat = Month(CDate(ActiveCell))
Frm_DatePicker.Show
Else
Frm_DatePicker.Show
End If
End If
Cancel = True
End Sub
im Modul der Userform die Activate Prozedur gegen diese austauschen:
Private Sub UserForm_Activate()
hWndForm = FindWindow(GC_CLASSNAMEMSEXCELFORM, Me.Caption)
If hWndForm > 0 Then
SetWindowLong hWndForm, GWL_STYLE, GetWindowLong(hWndForm, GWL_STYLE) And Not WS_CAPTION
DrawMenuBar hWndForm
End If
With Me
.Top = xZelle
.Left = yZelle
End With
End Sub
in ein allgemeines Modul:
Option Explicit
Public xZelle#, yZelle#
Gruß Uwe