Frage von Markiss, 44

Problem mit Excel VBA (2010) Shapes / Active X. User kann Shapes verschieben und Active X Transparenz verschwindet bei MouseClick. Wer hat damit Erfahrung?

ich möchte über controls verschiedene Vorgänge auf dem Tabellen-Blatt steuern. Dies funktioniert mit "Shapes" auch einwandfrei. Nachteil - der user kann mit der rechten Maustaste die "Shapes" verschieben bzw. ändern. Das Tab kann nicht geschützt werden, da die Tabelle Filter hat und dort eine Sortierung nur mit nicht geschütztem Tab funktioniert.

Active X -Controls haben den Nachteil, dass beim Click mit der Maus die Transparenz des Controls verloren geht. bzw. das Control unschön in der Größe minimal geändert wird.

Expertenantwort
von Iamiam, Community-Experte für Excel, 22

Versuche mal, das Fenster zu teilenund die Shapes in ein anderes Blatt zu versetzen und das Fenster zu teilen.Dann kannst Du das Shape-Blatt schützen ind im unteren(?) Teil  -das Blatt mit der Sortieraufgabe- ganz normal arbeiten.

Hab das aber jetzt nicht ausprobiert, wäre schün, wenn u Rückmeldung gibst, obs funktioniert hat.

Teilen also nicht mit Fenster einfrieren, sondern per Teilungsbalken oben.

Kommentar von Iamiam ,

Sorry, das scheint nicht mehr zu gehen!

Meine Güte, das konnte doch schon Lotus Symphonie vor 25 Jahren, sogar 4 unabhängige Fenster, wahlweise synchron oder nicht ! Und Lotus 123 konnte das auch!

MS hat mit seiner irgendwie mit Lug und Trug erbeuteten Marktmacht die guten Programme durch oft heute noch stellenweise schlechtere verdrängt!!

Kommentar von Iamiam ,

aber was geht: öffne eine zweite Datei, stelle sie im Teilbildmodus dar und platziere die mit den Knöpfen oben.

Xl hat bei geschützten Tabellen leider nicht die Option, Objekte nur auszuwählen (und dabei nicht zu bearbeiten), aber du kannst das in eine Zelle verlegen, die der Benützer nur anklicken kann. Weise dieser Zelle zB diesen Code zu:

Sub Worksheet_Selectionchange(ByVal Target As Range)
If Not Intersect(ActiveCell, Target) Is Nothing Then
Application.Windows("DeineDatei.Erweiterung").Activate
Sheets("DeinBlatt").Activate
ActiveSheet.Cells(1, 1).Activate 'oder eben Dein (Sortier?)Makro
End If
End Sub 'testen, indem ein anderes Feld und an schließend ein anderes Blatt ausgewählt wird

Hab das rudimentär getestet. Die Zelle kannst du per Format hervorheben und sinnfällig beschriften.

Kommentar von Iamiam ,

Anstatt activecell kannst Du natürlich auch beliebig viele Ranges definieren und so viele Makroalternativen ablaufen lassen.

Kommentar von Markiss ,

Danke für die Rückmeldung.

Das mit dem Filtern ist nicht ganz so einfach, da es sich um einen Autofilter über mehrere Spalten > 10 handelt. Der user kann dort halt beliebige Filter-Kombinationen machen bzw. Sortierungen.

Kommentar von Iamiam ,

zum Sortieren/Filtern wollte ich auch gar nichts sagen, nur zum Makroaufruf über nicht veränderbare Knöpfe, die ich eben durch Zellen in einer zweiten Datei mit (zumindest) einem geschützten Blatt ersetzen wollte.

Aber da Du zB Transparenz vermisst, wird das ohnehin Deinen Ansprüchen nicht genügen.

Tut mir leid, was Besseres weiß ich nicht !

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten