relative Cursor-Position in Punkt
08.04.2014 11:40:31
David
ich möchte im aktiven Dokument an der Position der aktuell ausgewählten Zelle ein Rechteck einfügen.
Laut Hilfe muss ich als Position die Ecke definieren in Relation zur linken oberen Ecke des Dokuments in Punkt. Wie kann ich diese Position der aktuell ausgewählten Zelle auslesen?
Mein erster Ansatz war über die Position auf dem Bildschirm (über System-Metrics), aber das hat nicht funktioniert.
Sub Umrandung()
Dim Pos_B, Pos_H
Pos_B = GetSystemMetrics(SM_CXSCREEN) / 192 * 144 - 100
Pos_H = GetSystemMetrics(SM_CYSCREEN) / 192 * 144 - 100
'MsgBox Pos_B '(nur zum Testen)
'MsgBox Pos_H '(nur zum Testen)
ActiveSheet.Shapes.AddShape(msoShapeRectangle, Pos_B, Pos_H, 100, 30).Select
Selection.ShapeRange.Fill.Visible = msoFalse
With Selection.ShapeRange.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Weight = 4.5
End With
End Sub
Im Prinzip hat das Makro funktioniert, nur kam das Rechteck an der falschen Stelle.Der Cursor befand sich in Zelle 70.000, er hat es aber nun ganz oben platziert, sozusagen Abstand ca. 1000 vom oberen Dokumentenrand.
Beim Test mit dem Recorder hat er übrigens die Position wie folgt aufgezeichnet:
....AddShape(msoShapeRectangle, 351.75, 1055187#, 90.75, 27.75)....
Den zweiten Wert weiß ich nicht zu interpretieren.
Kann mir hier bitte jemand helfen?
Danke vorab und Gruß
David