Fixieren von Shapes in Excel
Schritt-für-Schritt-Anleitung
Um Shapes in Excel, wie Textboxen, so zu fixieren, dass sie in ihrer Größe und Position nicht veränderbar sind, aber dennoch auswählbar und löschbar bleiben, kannst du folgende Schritte befolgen:
-
Shape erstellen: Füge deine Textboxen ein, indem du den VBA-Code verwendest. Hier ein Beispiel:
With mydoc.Shapes.AddTextbox(msoTextOrientationHorizontal, _
xcen + x * fak - buchst * (l + 1) / 2, ycen - y * fak - buchst, buchst * (l + 1), buchst * 2)
.Name = tx
.TextFrame.Characters.text = tx
.TextFrame.Characters.Font.Size = buchst
.TextFrame.VerticalAlignment = xlVAlignCenter
.TextFrame.HorizontalAlignment = xlVAlignCenter
.TextFrame.AutoSize = True
.TextFrame.MarginLeft = 0#
.TextFrame.MarginRight = 0#
.TextFrame.MarginTop = 0#
.TextFrame.MarginBottom = 0#
.Fill.Transparency = 1
.Line.Visible = msoFalse
.Placement = xlFreeFloating
.Locked = False
.ControlFormat.LockedText = True
.LockAspectRatio = msoTrue
End With
-
Zugriff auf das Kontextmenü: Klicke mit der rechten Maustaste auf das Shape und wähle "Größe und Position" aus.
-
Größe fixieren: Stelle sicher, dass die Optionen für das Verändern der Größe deaktiviert sind, während die Auswahl und das Löschen weiterhin möglich sind.
-
Blattschutz aktivieren: Aktiviere den Blattschutz mit der Option "Objekte bearbeiten erlauben", um die Shapes wählbar zu halten.
Häufige Fehler und Lösungen
-
Shapes nicht wählbar: Wenn du den Blattschutz aktivierst, achte darauf, dass die Option "Objekte bearbeiten erlauben" aktiviert ist. Dies ermöglicht das Wählen und Löschen der Shapes.
-
Shapes können nicht gelöscht werden: Stelle sicher, dass die Shapes nicht versehentlich gesperrt wurden. Überprüfe die Locked
-Eigenschaft im VBA-Code.
Alternative Methoden
Eine alternative Methode, um Shapes zu fixieren, besteht darin, die Shapes in eine Gruppe zu fassen. So kannst du die gesamte Gruppe schützen, während die einzelnen Elemente innerhalb der Gruppe noch bearbeitet werden können.
- Markiere die Shapes, die du gruppieren möchtest.
- Klicke mit der rechten Maustaste und wähle "Gruppieren".
- Aktiviere den Blattschutz für die Gruppe.
Praktische Beispiele
Hier ist ein praktisches Beispiel zur Anwendung der genannten Methoden:
Sub CreateShapes()
Dim mydoc As Worksheet
Set mydoc = ThisWorkbook.Sheets("Sheet1")
' Textbox erstellen
With mydoc.Shapes.AddTextbox(msoTextOrientationHorizontal, 50, 50, 100, 50)
.Name = "Textbox1"
.TextFrame.Characters.text = "Datensatz 1"
.TextFrame.AutoSize = True
.Locked = False
End With
' Blattschutz aktivieren
mydoc.Protect UserInterfaceOnly:=True
End Sub
Tipps für Profis
- Nutze die
Group
-Funktion in Excel, um mehrere Shapes gemeinsam zu schützen.
- Experimentiere mit den Eigenschaften der Shapes im VBA-Editor, um spezifische Anpassungen vorzunehmen.
- Halte deine VBA-Skripte modular, um die Wartung zu erleichtern.
FAQ: Häufige Fragen
1. Wie kann ich die Größe eines Shapes nach dem Fixieren ändern?
Du kannst die Größe eines Shapes nicht mehr direkt ändern, wenn es fixiert ist. Du musst den Blattschutz aufheben, um Änderungen vorzunehmen.
2. Was ist der Unterschied zwischen "Locked" und "Protected"?
"Locked" bezieht sich auf einzelne Shapes, während "Protected" den gesamten Arbeitsblattbereich schützt. Achte darauf, die richtigen Einstellungen zu kombinieren.