Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fixieren von Shapes

Fixieren von Shapes
11.12.2016 18:53:38
Shapes
Hallo,
ich füge Textboxen in mein Arbeitsblatt ein. Jede Textbox symbolisiert einen Datensatz und steht an einer bestimmten Position. Die Textbox kann man löschen und dementsprechend wird der entsprechende Datensatz gelöscht.
..
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
Die Shapes sollen also wählbar sein (zum Löschen), aber nicht in Größe und Position veränderbar sein. Mit "Arbeitsblatt schützen" könnte man das erreichen, aber dann sind die Shapes nicht mehr wählbar und löschbar.
Gibt es einen Dreh wie man Größe und Position fixieren kann?
Grüße
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fixieren von Shapes
11.12.2016 19:23:24
Shapes
lese FAQ
Zu Crossposting lies diese Seite Hajo-Excel.de
Durch Crossposting werden mehrere Gruppen von Leuten mit dem gleichen Thema befasst, ohne dass sie voneinander wissen.
Naturgemäß laufen dann die Antworten, die im einen Forum "zu spät" gegeben wurden, ins Leere und bleiben ohne Resonanz.
Es reicht also, zunächst in einem Forum zu posten - wenn die Antworten dann unbefriedigend sein sollten, steht es einem anschließend immer noch offen, ein anderes Forum zu Rate zu ziehen.
Ich mache keine Werbung für andere Foren und verzichte darum auf den Link.

Anzeige
;
Anzeige

Infobox / Tutorial

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:

  1. 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
  2. Zugriff auf das Kontextmenü: Klicke mit der rechten Maustaste auf das Shape und wähle "Größe und Position" aus.

  3. 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.

  4. 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.

  1. Markiere die Shapes, die du gruppieren möchtest.
  2. Klicke mit der rechten Maustaste und wähle "Gruppieren".
  3. 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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige