Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1604to1608
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Zeichen nutzen von "Sub-Name"
26.01.2018 11:05:58
"Sub-Name"
Hi meine lieben Experten,
für mein folgendes Problem habe ich schon sehr viel im Forum gesucht, aber leider noch nichts ähnliches gefunden.
Also folgendes....
Ich habe ein Userform erstellt in dem ca. 20 Textboxen eingefügt sind. Diese habe ich durchnummeriert TB01, TB02, .... TB20.
Ich möchte jetzt die Funktion des Doubleclick der TB nutzen. Ich erstelle die passende "Sub" und schreibe jetzt in die 20 "Subs" meine Anweisungen. Alles funktioniert soweit alles einwandfrei. Jetzt mein Problem, bzw. meine Frage an Euch:
Um den Programmieraufwand zu minimieren, würde es mir helfen, wenn ich die Nummerierung der "Sub"
'

Private Sub TB01_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
in einer Variable weiter nutzen könnte. Kann mir jemand sagen, wie ich entweder aus dem "Sub- _
Namen" oder aus der Eigenschaft der Textbox, die Nummerierung in eine separate Variable schreiben kann?
So in der Art habe ich mir das vorgestellt:

Private Sub TB12_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim Mode as Integer
Mode = 12 "Nummer der Textbox"
Call UserForm_Activate
End Sub
Vielen lieben Dank für Eure Unterstützung!

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Klassenprogrammierung von Forms! (owT)
26.01.2018 11:10:17
Forms!

AW: Klassenprogrammierung von Forms! (owT)
26.01.2018 11:31:36
Forms!
Erst einmal vielen Dank für die schnelle Antwort!
Das Zauberwort heißt also "Klassenprogrammierung"?
Damit hatte ich leider bis jetzt noch gar nichts zu tun. Ich habe eben gegoogelt und natürlich einige sehr interessante Beiträge gefunden, und werde diese jetzt nach und nach durcharbeiten. Es wäre aber auch für mich sehr hilfreich, wenn Du mir einen direkten Lösungsansatz nennen könntest.
AW: Zeichen nutzen von "Sub-Name"
26.01.2018 11:42:15
"Sub-Name"
Hi
bei VBA-Bescheiden vielleicht besser ohne Klassenprogrammierung, auch wenns etwas mehr Tipaufwand ist:
1. wenn du die Variable "Mode" auch in anderen Subs nutzen willst, darfst du sie nicht in jeder Sub deklarieren, sondern musst sie außerhalb deklarieren (unter Option Explicit)
Variablen, die innerhalb einer Sub deklariert werden, sind nur dieser Sub bekannt.
2. lege für jede TextBox das DoubleClick-Event an.
bei entsprechender Benennung kannst du die Nummer mit folgendem Code extrahieren:
Mode = Clng(right(ActiveControl.Name), 2))

diesen Zeile kannst du dann in alle deine Event-Makros kopieren.
ActiveControl ist immer das zuletzt angeklickte Control und daher in einem Eventmakro in der Regel das Control, zu dem das Event gehört.
Somit braucht man den Code nicht anpassen, wenn man ihn in des Eventmarko eines anderen Controls kopiert.
(aufpassen muss man bei Frames)
Gruß Daniel
Anzeige
AW: Zeichen nutzen von "Sub-Name"
26.01.2018 12:12:06
"Sub-Name"
Hi Daniel,
vielen Dank.
Ja, so hab ich es auch schon probiert, und bin auf das Problem getaucht, dass Du auch als letzten Satz erwähnt hast "aufpassen muss man bei Frames".
Denn die Textboxen sitzen in Frames. und somit versucht der Code nun die Eigenschaft des Frames zu nutzen. Wie kann ich dieses nun umgehen?
AW: Zeichen nutzen von "Sub-Name"
26.01.2018 12:15:34
"Sub-Name"
Hi
ein Frame ist quasi eine Userform innerhalb der Userform.
dh der Frame ist das ActiveControl der Userform und die TextBox das ActiveControl des Frames.
probiers mal mit ActiveControl.ActiveControl.Name, wenn die TextBox im Frame liegt.
Gruß Daniel
Anzeige
AW: Zeichen nutzen von "Sub-Name"
26.01.2018 14:27:11
"Sub-Name"
Leider Fehlermeldung : Objekt unterstützt diese Eigenschaft nicht.
AW: Zeichen nutzen von "Sub-Name"
26.01.2018 14:42:08
"Sub-Name"
Die bisherige Lösung heisst:
Mode = CLng(Right((Frame1.ActiveControl.Name), 2))
Allerdings funktioniert das nur wenn nur ein Frame vorhanden ist. Da ich allerdings mehrere Frames existieren, wird es wohl doch noch anspruchsvoller.
Vielleicht hat noch jemand eine Idee?
AW: Zeichen nutzen von "Sub-Name"
26.01.2018 15:06:05
"Sub-Name"
Hi
Wie verwendest du die Frames?
- nur als Rahmenlinie?
Dann tut es auch ein Label mit Rahmen und transparentem Hintergrund.
- zum gemeinsamen Ein- und Ausblenden von mehreren Steuerelementen?
Dann ggf mit einer Multipage arbeiten (die Reiter kann man ausblenden)
Wenn du aber die "eigentlichen" Frame-Funktionen brauchst, dann musst du dich eben damit auseinander setzen.
Bei komplexen Userformen könnte es dann natürlich tatsächlich sinnvoll sein, Klassenprogrammierung zu lernen.
Gruß Daniel
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige