Microsoft Excel

Herbers Excel/VBA-Archiv

shape.left nach Rotation | Herbers Excel-Forum


Betrifft: shape.left nach Rotation von: Franz W.
Geschrieben am: 04.03.2010 10:41:00

Hallo Fachleute,

aus einem Code von Hans dieser Auszug:

Sub test()
  Dim shp As Shape
  Set shp = ActiveSheet.Shapes("Bild 26")
  
  shp.Left = ActiveCell.Left
End Sub
Damit kann ein Bild in eine Zelle eingefügt werden.

Das Problem: nach einer Rotation des Bildes um 90 Grad nach rechts bleibt "shp.Left" diesselbe Ecke wie vorher. D. h. sie ist nun nicht mehr links, sondern rechts oben. Heißt aber immer noch "Left" ... !! Und somit funktioniert obiger Code nicht mehr, Bild wird nicht mehr exakt in eine Zelle eingefügt.

Gibt es da Abhilfe?

Danke schonmal und Grüße
Franz

  

Betrifft: AW: shape.left nach Rotation von: fcs
Geschrieben am: 04.03.2010 11:23:53

Hallo Franz,

nach dem Drehen des Bildes die Datei speichern.
Danach hat das Bild dann die "normalen" Posititonseigenschaften.

Alternatives Makro:

Sub aaatest()
  'Für 90 Grad nach rechts gedrehtes Bild - ohne vorher Datei zu spechern
  Dim shp As Shape
  Set shp = ActiveSheet.Shapes("Bild 23")
  
  shp.Left = ActiveCell.Left + (shp.Height - shp.Width) / 2
  shp.Top = ActiveCell.Top - (shp.Height - shp.Width) / 2
End Sub
Gruß
Franz


  

Betrifft: Leute, Ihr seid genial! von: Franz W.
Geschrieben am: 04.03.2010 11:31:06

Hallo Franz,

vielen Dank - für beide Lösungsvarianten!


Grüße
Franz