Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1948to1952
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
Inhaltsverzeichnis

Welche Textbox ist in der User aktiv?

Welche Textbox ist in der User aktiv?
01.10.2023 23:19:50
Thomas
Guten Abend zusammen,

auf unterem Bild seht ihr eine USERFORM mit Textboxen.
Ich möchte, das bei anklicken der Userform mittels Maus oder TAB-Taste
der aktuelle Monat und Tag fett gedruckt werden.
Das ist alles kein Problem.

Das Problem liegt darin, das ich nicht weiß, wie ich die betreffende Textbox
herausfinde, welche gerade aktiv ist, damit eine Unterroutine zuerst
alle Tage und Monate wieder normal darstellt und dann den aktiven Monat und Tag
fett wiedergibt.

Habe es schon mit _Change() und _DropButtonClick() probiert, aber keinen Erfolg.

Könnte mir bitte jemand auf die Sprünge helfen, damit ich das Problem
zeitnah lösen kann.

Danke und viele Grüße Thomas



Userbild

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Welche Textbox ist in der User aktiv?
01.10.2023 23:41:26
onur
JEDES Controlelement hat eine "Tag"-Eigenschaft. Wenn du z.B. Textbox13 den Tag "13" gibst usw, weisst du mit ActiveControl.Tag immer, welche gerade aktiv ist.
AW: Welche Textbox ist in der User aktiv?
02.10.2023 01:02:54
Thomas
Hallo onur,

ich stehe immer noch auf dem Schlauch.

Ich habe es mit folgendem Code versucht:

Private Sub M1T1_DropButtonClick()
lngIIIIII = 1: lngIIIIIII = 1: Call DatumMarkieren
End Sub

Aber es klappt nicht. Und mit deinem ActiveControl.Tag weiß ich ehrlich gesagt nichts anzufangen.

Es soll einfach, wenn ich im Januar vom Tag 1 auf den Tag 2 mitttels der Pfeiltasten, oder der TAB-Taste bzw. der Maus
gesprungen wird, eine Routine loslaufen, die alle Tag- und Monatslabels in Normaltext formatiert und
anschließend der ausgewählte Tag und Monat fett formatiert werden.
Dieses Prozedur läuft ja schon, aber wenn die USERFORM aktiv ist und ich unterschiedliche Textboxen
auswähle springt er Cursor zwar rein, aber der Tag und Monat wird nicht fett dargestellt.

Gruß Thomas
Anzeige
AW: Welche Textbox ist in der User aktiv?
02.10.2023 01:11:10
onur
Tja, den restlichen Code musst du schon programmieren.
Aber DU hast doch geschrieben: "Das ist alles kein Problem. Das Problem liegt darin, das ich nicht weiß, wie ich die betreffende Textbox herausfinde, welche gerade aktiv ist".
Und genau das habe ich dir beantwortet.
AW: Welche Textbox ist in der User aktiv?
02.10.2023 01:27:29
Thomas
Ich stehe aber auf dem Schlauch. Ich weiß nicht, was ich mit ActiveControl.Tag anfangen soll.
Vielleicht bekomme ich noch einen kleinen Gedankenanschubser? Danke
AW: Welche Textbox ist in der User aktiv?
02.10.2023 01:32:17
onur
KLick mal z.B. Textbox13 an. Rechtsklick/Eigenschaften/Tag.
Da bei Tag diese 13 eintragen (das Selbe bei ALLEN Texboxen)
Wenn dann der Focus auf dieser Textbox liegt und du im Code nach ActiveControl.Tag fragst, erhältst du als Antwort die 13 und weisst, dass Textbox13 die aktive ist.
Alles klar soweit?
Anzeige
AW: Welche Textbox ist in der User aktiv?
02.10.2023 01:35:56
onur
Lass dich nicht von der Bezeichnung "Tag" iritieren - das ist nicht der deutsche Tag, sondern das engl. Wort "Tag" für Etikett oder Schild.
AW: Welche Textbox ist in der User aktiv?
02.10.2023 01:41:20
Thomas
Ich glaube wir reden (schreiben) aneinander vorbei.

In der Userform (welche als Teil im Bild zu sehen ist), wird der Arbeitsplan des Mitarbeiters
in den Textboxen für jeden Tag wieder geben. Der Mitarbeiter soll dann dort seinen Urlaub eintragen können.
Und wenn er recht weit unter in den Monaten Juli bis Dezember ist, sieht man nicht genau, in welchem Mont bzw. Tag
man ist.
Und meines Erachtens kann ich bei Anzeige der Userform nichts im Hintergrund laufen lassen, was mir die aktive Textbox
wiedergibt. Daher der Gedanke, wenn ich die Textbox ausgewählt wird, dann starte die Routine um den Monat und Tag fett
darzustellen.
Anzeige
AW: Welche Textbox ist in der User aktiv?
02.10.2023 01:57:15
onur
Dann solltest du vielleicht auch mal eine Datei posten statt Bildchen.....
Du bezeichnest dich ausserdem als "VBA gut", machst aber die selben Fehler wie viele blutige Anfänger. Zig Textboxen sehen in deinen Augen vielleicht "cool" aus, aber, wenn du diese mit Codes versehen willst, musst du dies bei allen 100 (oder wieviel auch immer) tun. Das heisst 100 Makros, die fast identisch aussehen.
Wenn ich die Datei hätte und wüsste, was GENAU du willst, könnte ich dir Alternativen anbieten.
AW: Welche Textbox ist in der User aktiv?
02.10.2023 03:13:46
onur
Mit Klassenprogrammierung kein Problem. Hier ein Beispiel:
https://www.herber.de/bbs/user/163205.xlsm
Anzeige
AW: Welche Textbox ist in der User aktiv?
02.10.2023 03:27:41
Thomas
War gerade dabei eine abgespeckte Version der UserForm einzustellen,
da hast du schon eine Datei eingestellt.

Genau das habe ich gesucht, das sich in den Textboxen die Schriftarten ändern.
Ich werde es heute oder morgen mal versuchen, es in meine Userform
einzubauen und würde mich dann wieder melden.

Ich danke dir jetzt schon für deine Hilfe.
Gerne !
02.10.2023 03:28:46
onur
AW: Welche Textbox ist in der User aktiv?
02.10.2023 03:43:04
onur
"das sich in den Textboxen die Schriftarten ändern" - WAS der Code machen soll, ist eigentlich egal, das Problem ist nur das Erkennen, WELCHE Textbox aktiviert wurde. Bei 100 Textboxen müsstest du normalerweise 100 Event-Codes (für jede Textbox einen) schreiben, die alle das Selbe tun - entweder sich melden mit "Ich bin TextboxXY" oder (z.B) bei allen Textboxen die Schrift auf schwarz setzen und bei sich selbst auf rot.
Bei VB (im Gegensatz zu VBA) kann man ganze Arrays von Textboxen, Commandbuttons usw erstellen und sie "blockweise" ansprechen.
Bei VBA geht es nur über den Umweg mit der Klassenprogrammierung und dann reicht für alle Textboxen ein einziger Code.
Anzeige
AW: Welche Textbox ist in der User aktiv?
02.10.2023 03:58:09
Thomas
Das habe ich jetzt verstanden.
Ich wollte erst diesen Weg gehen und 366 Event-Codes erzeugen.

Habe mir deine Datei nochmals angeschaut und die CommandButtons außen
vor gelassen und mich nur noch mit den Textboxen beschäftigt.

Wenn ich die Textbox mit der Maus markiere wird genau die Textbox fett
dargestellt, auf welche ich gedrückt habe.
Springe ich aber mit der TAB Taste vor bzw. SHIFT + TAB Taste zurück wird
nicht die Textbox fett dargestellt, sondern die, von der gesprungen wird.

Warum ist das so? Hast du dafür eine Erklärung?
AW: Welche Textbox ist in der User aktiv?
02.10.2023 04:19:35
onur
Anscheinend hast du nur CopyPaste gemacht und dir die Makros nicht mal angeschaut.
Wenn du in eine Textbox KLICKST ist das ein anderes Event als wenn du mit der TAB-Taste herumhantierst. Wie soll denn ein Mausklick-Eventmakro auch bei der Tab-Taste anspringen, wenn man es nicht extra einprogrammiert hat?
Guckst du hier:
https://www.herber.de/bbs/user/163206.xlsm
Anzeige
AW: Welche Textbox ist in der User aktiv?
03.10.2023 03:37:22
Thomas
Guten Morgen onur,

habe es heute Nacht geschafft, das in der betreffenden Userform der Tag und der Monat
beim der Anwahl mit Maus bzw. TAB-Taste fett dargestellt werden.

Funktioniert super. Danke nochmal für deine Unterstützung und für die Zeit, welche
du für mein Problem eingesetzt hast.

Viele Grüße Thomas
Gerne !
03.10.2023 06:38:56
onur

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige