AW: Form bei Klicken nach rechts verschieben
02.07.2018 18:04:45
fcs
Hallo Kevin,
hier zwei Varianten
Gruß
Franz
Sub MoveArrow_to_Date()
' MoveArrow Makro
' Bewegt Pfeil in Spalte mit aktuellem Datum
Dim wks As Worksheet
Dim objShape As Shape
Dim datDatum As Date, Spa As Long, ZeiDatum As Long, SpaDatum
Dim LeftDiff As Single
ZeiDatum = 3 'Zeile mit den Datumswerten - ggf. anpassen
datDatum = Date 'heutiges Datum - Datum über dem der Pfeil positioniert werden soll
Set wks = ActiveSheet
With wks
SpaDatum = 0
For Spa = 1 To .Cells(ZeiDatum, .Columns.Count).End(xlToLeft).Column
If .Cells(ZeiDatum, Spa).Value = datDatum Then
SpaDatum = Spa
Exit For
End If
Next
Set objShape = .Shapes("MeinPfeil") 'Name der Form ggf. anpassen
End With
If SpaDatum > 0 Then
With objShape
LeftDiff = .Left - .TopLeftCell.Left
.Left = wks.Cells(ZeiDatum, SpaDatum).Left + LeftDiff
End With
End If
End Sub
Sub MoveForm_to_Right()
' Bewegt Form eine Spalte nach rechts - funktioniert nur wenn Makro per Klick auf _
Form gestartet wird
Dim wks As Worksheet
Dim objShape As Shape
Dim LeftDiff As Single
Dim varCaller
varCaller = Application.Caller 'liefert Name der Form, mit der Makro gestartet wurde
If Not IsError(varCaller) Then
Set wks = ActiveSheet
With wks
Set objShape = .Shapes(varCaller) 'Name der Form ggf. anpassen
With objShape
LeftDiff = .Left - .TopLeftCell.Left
.Left = .TopLeftCell.Offset(0, 1).Left + LeftDiff
End With
End With
End If '
End Sub