Shapes in Excel auf gleiche Höhe einstellen
Schritt-für-Schritt-Anleitung
Um alle Shapes in einem Excel-Arbeitsblatt auf eine einheitliche Höhe und Breite einzustellen, kannst Du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
-
Öffne Excel und lade die Arbeitsmappe, in der Du die Shapes anpassen möchtest.
-
Drücke ALT + F11, um den Visual Basic-Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke im Menü auf
Einfügen > Modul.
-
Kopiere und füge den folgenden Code ein:
Option Explicit
Private Sub Workbook_Open()
Dim Shape As Shape
For Each Shape In Worksheets("Tabelle1").Shapes
Shape.Height = 132.9448818898 ' Höhe in Punkten
Shape.Width = 105.7322834646 ' Breite in Punkten
Next Shape
End Sub
-
Speichere die Arbeitsmappe als Makro-fähige Datei (*.xlsm).
-
Schließe den Visual Basic-Editor und teste das Makro, indem Du die Arbeitsmappe erneut öffnest.
Häufige Fehler und Lösungen
-
Fehler: Shapes werden nicht angepasst
Lösung: Stelle sicher, dass Du das Makro in der richtigen Arbeitsmappe platziert hast und dass die Shapes auf "Tabelle1" liegen.
-
Fehler: Shapes sind nicht auf die richtigen Maße eingestellt
Lösung: Überprüfe, ob die Maße in Punkten korrekt angegeben sind. Excel verwendet Punkte als Maßeinheit für Shapes, nicht Zentimeter.
Alternative Methoden
Wenn Du keine VBA-Makros verwenden möchtest, kannst Du auch die Shapes manuell anpassen:
- Markiere die Shapes, die Du anpassen möchtest.
- Rechtsklicke auf eine der markierten Shapes und wähle
Größe und Eigenschaften.
- Gib die gewünschten Werte für Höhe und Breite ein.
Dies ist allerdings zeitaufwändiger, besonders wenn Du viele Shapes hast.
Praktische Beispiele
Hier sind zwei Beispiele, wie Du spezifische Gruppen von Shapes anpassen kannst:
-
Für Shapes, die einen bestimmten Namen haben:
Sub AnpassungNachNamen()
Dim Shape As Shape
For Each Shape In ActiveSheet.Shapes
If InStr(1, Shape.Name, "Rectangle") Then
Shape.Height = 132.9448818898
Shape.Width = 105.7322834646
End If
Next Shape
End Sub
-
Für Gruppen von Shapes:
Sub GruppenAnpassen()
Dim shaShape As Shape
For Each shaShape In ActiveSheet.Shapes
If shaShape.DrawingObject.ShapeRange.Type = msoGroup Then
If shaShape.Name = "Group 2383" Then
Dim intShape As Integer
For intShape = 1 To shaShape.GroupItems.Count
shaShape.GroupItems(intShape).Height = 134.0787
Next intShape
End If
End If
Next shaShape
End Sub
Tipps für Profis
- Verwende spezifische Namen für Shapes, sodass Du sie leichter im Code ansprechen kannst.
- Nutze den Makrorekorder, um dir den Code für häufige Aufgaben zu erleichtern, und passe ihn dann manuell an.
- Teste Deine Makros in einer Kopie der Arbeitsmappe, um Datenverlust zu vermeiden.
FAQ: Häufige Fragen
1. Warum ändern sich die Maße der Shapes in Excel 2013?
Die Unterschiede in den Maßen können durch Änderungen in der Darstellung oder Skalierung zwischen verschiedenen Excel-Versionen bedingt sein.
2. Wie kann ich mehrere Shapes gleichzeitig auswählen?
Halte die STRG-Taste gedrückt und klicke auf die Shapes, die Du auswählen möchtest, oder ziehe einen Auswahlrahmen um die gewünschten Shapes.
3. Was sind die Maßeinheiten für Shapes?
In Excel werden die Maße für Shapes in Punkten angegeben. 1 Punkt entspricht 0,035 cm.