Formen ausrichten
07.07.2015 08:48:23
Patrick
ich habe ein Excelblatt in dem es viele Formen gibt, die nicht richtig am Raster ausgerichtet sind. Dabei kann es sein, dass sie vom Ankerpunkt neben dem Rastermaß liegen, oder die Größe vom Rastermaß abweicht.
Ich möchte ein Makro schreiben mit dessen Hilfe ich mehrere selektierte Objekte automatisch auf Rastermaß bringen und daran ausrichten kann.
Aktuell fasse ich jedes Shape oben links an, vergrößere es um ein Rastermaß, dann verkleinere ich es um ein Rastermaß und dann stimmt es oben links. Das gleiche Spiel natürlich mit unten rechts...
Aus einem älteren Projekt habe ich mir die Codebrocken herausgesammelt mit denen ich Shapes selektieren kann. Allerdings fehlt mir das Wissen bezüglich der richtigen Befehle um die Größe und Position zu verbessern.
Sub Ausrichten()
Dim shaShape As Shape
Dim lngShape As Long
ReDim arrShapes(0)
Dim Rng As Range
Set Rng = Selection
For Each shaShape In ActiveSheet.Shapes
If shaShape.Visible Then
If Not Intersect(shaShape.TopLeftCell, Rng) Is Nothing Then
ReDim Preserve arrShapes(0 To lngShape)
arrShapes(lngShape) = shaShape.Name
lngShape = lngShape + 1
Debug.Print shaShape.Name
End If
End If
Next shaShape
End Sub
https://www.herber.de/bbs/user/98676.xlsx
Gruß,
Patrick