/ / Verschieben Sie ein Makrobild mit einem anderen Makrobild in Excel - vba

Verschiebe ein Makro-Bild mit einem anderen Makro-Bild in Excel - VBA

Ich habe ein Makro, das dies tut

 ThisWorkbook.Worksheets("data").Range("A50").End(xlToRight).Select

die die Ansicht zu einer Spalte weit nach dem bewegtrichtig (so dass der Benutzer nicht scrollen muss, da es üblich ist, dorthin zu gelangen) und ich möchte, dass sich eine andere Schaltfläche, die in der Kalkulationstabelle (als Bild) vorhanden ist, beim Klicken über diese Stelle bewegt (die zurück navigiert würde).

Ich habe versucht, Ausschneiden und Einfügen wie

ActiveSheet.Shapes.Range(Array("Picture 23")).Select
Selection.Cut
ThisWorkbook.Worksheets("data").Range("A50").End(xlToRight).Offset(-2,0).Select
ActiveSheet.Paste

aber das Bild wird einfach eingefügt, es ist kein Makro mehr damit verbunden.

Beim Abspielen mit Aufnahmemakro habe ich festgestellt, dass dies passiert, wenn ich das Bild bewege

Selection.ShapeRange.IncrementLeft -607.8260629921

aber ich weiß nicht, wie ich diese Variable machen soll. Was ist das 607 Pixel? Wenn ja, gibt es eine Möglichkeit, die "Länge" von einer bekannten Zelle zur aktiven Zelle abzuleiten? Der Ort, von dem aus ich navigiere, die erste Schaltfläche, ist statisch.

Antworten:

1 für die Antwort № 1
Dim rng as Range

With ThisWorkbook.Worksheets("data")

Set rng = .Range("A50").End(xlToRight)

rng.Select

With .Shapes("Picture 23")
.Top = rng.offset(-1,0).Top
.Left= rng.Left
End With

End with