Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Zellen sperren, Steuerelemente jedoch nicht


Betrifft: Zellen sperren, Steuerelemente jedoch nicht von: Ronald
Geschrieben am: 03.04.2018 19:56:27

Hallo an alle!

Ich möchte gerne Steuerelemente direkt auf dem WorkSheet plazieren und dafür
an der entsprechenden Stelle eine gewisse Anzahl Zellen sperren, sodaß ich
sie nicht anklicken kann. Im Bereich von ca. A1 bis L10. Die Steuerelemente
jedoch sollen ganz normal anwendbar sein. Wäre schön, wenn ich einen Tip
bekommen könnte, einen Ansatz, wie ich das hinbekomme.

Danke im Voraus.

Gruß Ronald

  

Betrifft: AW: Zellen sperren, Steuerelemente jedoch nicht von: Mullit
Geschrieben am: 03.04.2018 20:09:37

Hallo,

das geht in meinem Excel von Haus aus: Steuerelemente aufs Blatt, Blatt schützen >>> fertich...

Gruß, Mullit


  

Betrifft: AW: Zellen sperren, Steuerelemente jedoch nicht von: Ronald
Geschrieben am: 03.04.2018 20:20:33

Grüß Dich Mullit

Ich habs probiert. Das einzige, was ich dann habe, ist ein Schreibschutz. Ich möchte aber
bei den gewünschten Zellen denselben Effekt, wie bei Textboxen mit Enabled=True.
Sprich: Bei den gesperrten Zellen soll statt dem Excelkreuz die Pfeilspitze als Mauszeiger zu
sehen sein und diese entsprechenden Zellen soll ich nicht anklicken dürfen, also nie den Fokus haben.

Gruß Ronald


  

Betrifft: AW: Zellen sperren, Steuerelemente jedoch nicht von: Mullit
Geschrieben am: 03.04.2018 21:08:13

Hallo,

heijeijei, immer diese Sonderwünsche, tja da würde mir nur einfallen, ein ActiveX-Label über Deine geschützten Zellen zu legen, das wird automatisch mit einem Mouse-Arrow-Zeiger angesteuert, darüber dann Deine Buttons oder was auch immer...

Gruß, Mullit


  

Betrifft: AW: Zellen sperren, Steuerelemente jedoch nicht von: Ronald
Geschrieben am: 03.04.2018 21:27:13

Hallo Mullit

Danke für den Tip.
Wenn ich ehrlich bin, war das mein allererster Gedanke. Irgendwie ging das nicht.
Ich hatte hierbei Probleme mit dem Vordergrund bzw. dem Hintergrund.
Aber ich probiere es sehr gerne nochmals aus. Hast Du hierfür einen Tip für mich,
wie ich nichts falsch machen kann? Muß ich das Background-Label in den Hintergrund
legen und die anderen Steuerelemente (weitere Label, Textboxen, Comboboxen, Buttons, etc.)
in den Vordergrund legen? Kann ich diese Steuerelemente dann noch immer ganz normal
ansprechen? Also mit Private Sub cmdBeenden_Click() etc.?

Danke im Voraus


  

Betrifft: AW: Zellen sperren, Steuerelemente jedoch nicht von: Mullit
Geschrieben am: 03.04.2018 22:15:30

Hallo,

ich mach Dir mal ein Bsp.:

https://www.herber.de/bbs/user/120838.xlsm

Gruß, Mullit


  

Betrifft: AW: Zellen sperren, Steuerelemente jedoch nicht von: Ronald
Geschrieben am: 03.04.2018 22:25:30

Grüß Dich Mullit

Diese Lösung gefällt mir sehr, sehr gut. Ich muß nun leider noch fragen,
wie Du das gemacht hast, da ich aus dem Quelltext alleine nicht schlau werde.
Zumindest nicht viel. Du hast hinter den Steuerelementen ein Label, was man
aber überhaupt nicht sieht. Weder zur Laufzeit, noch im Entwicklermodus.
Wie hast Du das gemacht? Angenommen, ich würde es nun anwählen wollen, um
wasweißich zu machen, wie kann ich das nun tun?
Und wozu schaltest Du erst das Label auf unsichtbar und dann auf sichtbar?
Habe ich irgendwo etwas noch nicht entdeckt, was für mich noch als Erklärung
der Funktion dienen könnte?

Gruß Ronald


  

Betrifft: AW: Zellen sperren, Steuerelemente jedoch nicht von: Mullit
Geschrieben am: 03.04.2018 23:20:26

Hallo Ronald,

das Label ist einfach im Eigenschaftsfenster auf transparent gestellt, im Designmodus kommst Du schon ran, Du mußt einfach den Blattschutz (ohne Pass...) entfernen, war ja für Dein Bsp. notwendig, dann den Designmodus anwählen...

Die Un-/Sichtbarschaltung verhindert das Aublitzen des Labels im intransparenten Zustand bei Klickaktionen, das ist ein bißchen die Schwachstelle bei solchen Bastellösungen, ich hab mal noch etwas dazu gebastelt, kannst ja mal raten was es ist...;-)

https://www.herber.de/bbs/user/120840.xlsm

Gruß, Mullit


  

Betrifft: AW: Zellen sperren, Steuerelemente jedoch nicht von: Ronald
Geschrieben am: 03.04.2018 23:34:05

Nabend Mullit

Ich habs im Code gesehen. Wenn das Label den Fokus bekommt, dann...
Aber in der Laufzeit sehe ich es nie. Weil ich nicht weiß, wo die
Ausgabe von Debug.Print stattfindet.

Aber wie dem auch sei: Diese Lösung gefällt mir außerordentlich gut.
Und daher muß ich sagen, herzlichen Dank dafür. So simpel, wie es
im Nachhinein wirkt, ich wäre nicht darauf gekommen. Nochmals danke!

Und für heute sage ich gute Nacht!

Gruß Ronald


  

Betrifft: AW: Zellen sperren, Steuerelemente jedoch nicht von: Ronald
Geschrieben am: 03.04.2018 23:55:44

Hallo Mullit

Ich muß jetzt leider doch noch etwas fragen:

Was bewirkt das hier im Modul:

Option Explicit

Public Sub Button_Click()
  MsgBox ActiveSheet.Shapes(Application.Caller).Name
End Sub
Ich habe jetzt das Label bei mir nachträglich "drüber" gelegt. Nun stehe ich vor der Wahl,
entweder Rechtsklick "Eine Ebene nach hinten" oder Rechtsklick "in den Hintergrund".

Was wäre hier zu empfehlen oder gibts noch eine dritte Möglichkeit?

Danke.

Gruß Ronald


  

Betrifft: AW: Zellen sperren, Steuerelemente jedoch nicht von: Mullit
Geschrieben am: 04.04.2018 00:32:33

Hallo,

ich hab in den Hintergrund genommen, aber probiers einfach aus...
Die Proc war nur ne Bsp.-Proc, um die Funktionstüchtigkeit der Formularsteuerelemente zu demonstrieren, guck Dir einfach per Rechtsclick >>> Makro zuweisen die Formular-Buttons an, da siehst Du die Proc zugewiesen...

Gruß, Mullit


  

Betrifft: AW: Zellen sperren, Steuerelemente jedoch nicht von: Ronald
Geschrieben am: 04.04.2018 06:49:48

Guten Morgen Mullit

Nun hats geklappt. Super!. Vielen Dank.
Jetzt habe ich nur noch eine kleine Frage hinsichtlich MouseOver-Effekt.

Option Explicit

Private Declare Sub Sleep Lib "kernel32.dll" ( _
    ByVal dwMilliseconds As Long)

Private Sub cmdNeu_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, _
 ByVal Y As Single)
    cmdNeu.ForeColor = vbRed
    txtInfo.ForeColor = vbBlack
    txtInfo.Text = "Erstellt einen neuen Eintrag in der nächsten freien Zeile."
    Call Pause
End Sub

Private Sub Pause()
    Sleep 5000
    txtInfo.Text = ""
    cmdNeu.ForeColor = vbBlack
End Sub
Hier sollte als MausOver-Effekt in einer Textbox ein Infotext erscheinen, ähnlich einem
Tooltiptext und dann nach 5 Sekunden wieder verschwinden. Da dies so nicht funktioniert,
habe ich noch die Schriftfarbe des Neu-Buttons angepaßt, als reine optische Kontrolle, ob
der MouseOver überhaupt anspricht. Aber das tut er nicht. Also nur die Zeit läuft ab,
sonst nichts. Aber kaum lege ich einen Debugpunkt auf "Private Sub cmdNeu_MouseMove",
dann funktioniert es auch im Code. Damit meine ich, daß es dann auch in der txtInfo was
anzeigt und dies nach 5 Sekunden wieder löscht. Das finde ich unlogisch.
Hast Du hier eine Idee?

Danke im Voraus.

Gruß Ronald


  

Betrifft: AW: Zellen sperren, Steuerelemente jedoch nicht von: Ronald
Geschrieben am: 03.04.2018 20:27:33

Grüß Dich Mullit

Ich habs probiert. Das einzige, was ich dann habe, ist ein Schreibschutz. Ich möchte aber
bei den gewünschten Zellen denselben Effekt, wie bei Textboxen mit Enabled=True.
Sprich: Bei den gesperrten Zellen soll statt dem Excelkreuz die Pfeilspitze als Mauszeiger zu
sehen sein und diese entsprechenden Zellen soll ich nicht anklicken dürfen, also nie den Fokus haben.

Gruß Ronald


  

Betrifft: AW: Zellen sperren, Steuerelemente jedoch nicht von: snb
Geschrieben am: 04.04.2018 10:55:36

Verwende ein Userform


Beiträge aus dem Excel-Forum zum Thema "Zellen sperren, Steuerelemente jedoch nicht"