Objekt sperren ohne textfelder zu sperren

hallo liebe excelleristen!

ich habe mal wieder ne frage zu olle excell:

ich habe ein objekt „arbeitsblatt“ das gesperrt werden soll. wenn ich aber auf „blatt schützen“ gehe und objekte schützen auswähle, schütz er zb. auch alle textfelder die aber editierbar bleiben sollen.
ich dachte mir jetzt über
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
abzufragen, ob „arbeitsbalatt“ ausgewählt ist, um nur für diesen moment alle objekte zu schützen. wenn die selektion aufgehoben wurde soll der schutz wieder gelöst werden.(geschütze objekte können aber garnicht selektiert werden…)
die zeile sähe so aus:
If ActiveSheet.Shapes(„arbeitsrahmen“).Select Then ActiveSheet.Protect DrawingObjects:=True
Else ActiveSheet.Protect DrawingObjects:=False

Tja, aber das funzt nich.
ich habe in der hilfe auch keine „position“ eigenschaft gefunden, über die ich dem „arbeitsblatt“ immer wieder die position übergebe.
ich will letzendlich ein drowObjekt das der/die userIn nicht verschieben kann, ohne alle anderen objekte mitzusperren…

na, das is doch einfach, oder?
viele liebe grüße
vom herpes

Eigenschaften -> Schutz
Hi Herpes,

Du kannst über Rechtsklick -> Textfeld formatieren -> Schutz einstellen, dass das Textfeld trotz Blattschutz eben nicht geschützt ist. Zwei Varianten: Gesperrt heißt, dass keine Größenänderung/Verschiebung erlaubt ist, „Text gesperrt“, dass man keine Eingaben machen kann. Du kannst also die Größenänderung verbieten und trotzdem die Eingabe zulassen. Vielleicht beantwortet das auch Deine Frage von unten.

Gruß

Sculpture

hi sculpture
danke für deine schnelle antwort…:smile:

im prinzip ist das mit dem sperren wirklich das was ich gesucht habe…(glatt übersehen)
aber dennoch habe ich ein textfeld das eine feste position haben soll.es soll aber maximal eine weitere zeile eingefügt werden können und darunter soll sich ein weiteres textfeld automatisch verschieben, wenn das oberer seine höhe verändert wurde.
auf deutsch: wie kann ich uber ein makro objekten eine bestimmte position zuweisen,
geht das überhaupt?

gruß
vonnem herpes

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Herpes,

klar geht das, aber es ist die Frage, wann das Makro ausgeführt werden soll (s.u.). Doch wohl nicht durch das Drücken eines Buttons!? Excel kann Makros automatisch ausführen, etwa nachdem eine Zelle geändert oder das Arbeitsblatt gewechselt wurde, aber eben (meines Wissens) NICHT, nachdem eine Textbox verschoben/in der Größe geändert wurde.

es soll aber maximal eine weitere zeile eingefügt
werden können und darunter soll sich ein weiteres textfeld
automatisch verschieben, wenn das oberer seine höhe verändert
wurde.

Den Satz verstehe ich nicht ganz. Soll sich das Feld verschieben, wenn der Benutzer eine Zeile einfügt? Auch das geht meines Wissens nicht. Vielleicht hat jemand anders eine Idee.

Vielleicht kannst Du nochmal GANZ GENAU beschreiben, WANN sich WAS ändern soll. Du kannst die Textboxen auch von der Zellposition (un)abhängig machen, vielleicht kommst Du damit hin, dann wird die Box automatisch (nicht) verschoben.

Gruß

Sculpture

Eigenschaften -> Schutz
hallo sculpture
also folgendes:
1.)
„textfeld 44“ darf nur 13 zeichen breit sein. nach dem 13ten buchstaben soll ein zeilenumbruch erfolgen. das ganze passiert bei Worksheet_SelectionChange

Dim text_zwischen_speicher
If ActiveSheet.Shapes(„Textfeld 44“).Select Then
text_zwischen_speicher = Selection.Characters.Text
If Selection.Characters.Text > 13 Then Selection.Characters.Text = text_zwischen_speicher & Chr(10) & neuer_text
End Sub
2.)
wenn sich dann die zweite zeile eingefügt hat, soll vba die höhe des textfeldes44 checken, um das textfeld darunter verschieben können, damit die abstände wieder stimmen.
dazu benötige ich die funktion, die objekten sagt sie sollen wieder auf ihren festgelegten platz (zumindest sobalt sich
Worksheet_SelectionChange ausführt).

uff, is ja ma wieder hölle viel. ich hoffe du konntest was damit anfangen…

gruß
herpes