Position & Größe Autoform
24.09.2008 15:05:34
Peter
mit einem Makro füge ich auf einem Tabellenblatt eine Raute ein. Wenn ich nun oberhalb der betroffenen Zelle eine Zeile einfüge, passiert, je nach Einstellung, Verschiedenes: entweder verändert sich die Größe der Raute, oder sie verrutscht in die neue Zeile. Was ich aber nicht schaffe ist, dass sie immer in der gleichen Größe in der Zeile und über der Zelle bleibt, wo ich sie mit dem Makro eingefügt habe.
Wisst Ihr, woran das liegt und was ich dagegen bzw. dafür tun kann?
Schöne Grüße und besten Dank im Voraus!
Peter
Hier das Makro:
Sub Meilenstein_erstellen()
Dim objShape As Shape, Zelle As Range
Dim ZelleZiel As Range
ActiveSheet.Unprotect
ActiveSheet.Shapes("AutoShape 43").Select
With Selection
.PrintObject = True
End With
Set Zelle = ActiveCell
Set objShape = ActiveSheet.Shapes("AutoShape 43") 'zu kopierendes Objekt(Shape)
If Intersect(Zelle, Range("I27:EM70")) Is Nothing Then
'aktive Zelle ist nicht im Auswahlbereich
Set ZelleZiel = Range("AF16")
Else
Set ZelleZiel = Zelle
End If
objShape.Copy
ActiveSheet.Paste
'Zuletzt eingefügte Raute als Objekt zuordnen
Set objShape = ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
'Shape in Zielzelle zentrieren
With objShape
.Left = ZelleZiel.Left + ZelleZiel.Width * 0.5 - .Width * 0.5
.Top = ZelleZiel.Top + ZelleZiel.Height * 0.5 - .Height * 0.5
End With
ActiveSheet.Shapes("AutoShape 43").Select
With Selection
.PrintObject = False
End With
ZelleZiel.Select
ActiveSheet.Protect AllowFormattingCells:=True, AllowInsertingRows:=True, AllowDeletingRows: _
=True
End Sub