ich füge per Makro eine Grafik ein und möchte dieser die Eigenschaft: Objektpositionierung: von Zellposition und -größe abhängig zuordnen. Leider werden diese Dinge mit dem Recorder nicht aufgezeichnet. Warum eigentlich nicht?
Sub Makro3()
With ActiveSheet.Shapes("Picture 1")
.Placement = xlMoveAndSize
End With
End Sub
Um die Eigenschaften einer Grafik in Excel festzulegen, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen. Diese Anleitung ist für Excel 2010 und höher geeignet.
Grafik einfügen: Füge die Grafik in dein Arbeitsblatt ein.
Makro aktivieren: Drücke ALT + F11
, um den VBA-Editor zu öffnen.
Neues Modul erstellen: Klicke mit der rechten Maustaste im Projekt-Explorer auf dein Projekt und wähle „Einfügen“ > „Modul“.
VBA-Code eingeben: Füge den folgenden Code ein, um die Eigenschaften der Grafik festzulegen:
Sub SetGraphicProperties()
With ActiveSheet.Shapes("Picture 1") ' Ersetze "Picture 1" durch den Namen deiner Grafik
.Placement = xlMoveAndSize
End With
End Sub
Makro ausführen: Schließe den VBA-Editor und führe das Makro über ALT + F8
aus.
Überprüfen: Stelle sicher, dass die Grafik nun von Zellposition und -größe abhängig ist.
Fehler 1: Grafik wird nicht gefunden.
Fehler 2: Makro wird nicht ausgeführt.
Fehler 3: Die Eigenschaften werden nicht angewendet.
Falls du keine Makros verwenden möchtest, kannst du auch die Eigenschaften manuell einstellen:
Hier ein Beispiel, wie du die Grafik-Eigenschaften für eine Grafik mit dem Namen "Bild1" festlegen kannst:
Sub SetPictureProperties()
With ActiveSheet.Shapes("Bild1")
.Placement = xlMoveAndSize
End With
End Sub
Wenn du mehrere Grafiken hast, kannst du auch eine Schleife verwenden, um alle Grafiken gleichzeitig zu bearbeiten:
Sub SetAllPicturesProperties()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If shp.Type = msoPicture Then
shp.Placement = xlMoveAndSize
End If
Next shp
End Sub
1. Warum kann ich die Objektpositionierung nicht im Makro aufzeichnen?
In Excel 2007 und älteren Versionen werden viele Eigenschaften nicht aufgezeichnet. Dies verbessert sich ab Excel 2010.
2. Was ist der Unterschied zwischen xlMove und xlMoveAndSize?
xlMove
bedeutet, dass die Grafik nur verschoben wird, während xlMoveAndSize
sowohl die Position als auch die Größe der Grafik an die Zellen anpasst.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen