Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1664to1668
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
Textbox überspringen
06.01.2019 10:23:45
Karsten
Hallo,
in meinem Formular sollen, nach einer Eingabe in einer bestimmt Textbox, zwei Textboxen übersprungen werden. Doch leider überspringt er nur eine Textbox. Ich habe es mit diversen Start- und Ziel-Textboxen im Formular versucht, er landet immer in der übernächsten Textbox :(
---

Private Sub txtVorlage_AfterUpdate()
If Me.txtVorlage.Value  "" Then
Me.txtFrist.SetFocus
End If
End Sub

---
Hat jemand eventuell eine bessere/funktionierende Lösung (Excel 2016)?

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

Betreff
Datum
Anwender
Anzeige
AW: Textbox überspringen
06.01.2019 10:32:43
RPP63
Moin!
Warum veränderst Du nicht einfach die Aktivierreihenfolge?
(Rechtsklick auf UserForm in der Entwurfsansicht, Aktivierreihenfoge)
Dann kannst Du wie üblich mittels Enter oder Tab wechseln.
Gruß Ralf
AW: Textbox überspringen
06.01.2019 10:38:04
Karsten
Moin Ralf,
weil nur für den Fall, dass diese Textbox ausgefüllt wird, gesprungen werden soll.
Ansonsten soll brav die Aktivierreihenfolge abarbeiten.
AW: Textbox überspringen
06.01.2019 13:37:48
Daniel
Hi
Hast du schon Mal das Exit-Event probiert? Vielleicht geht es damit besser.
Gruß Daniel
AW: Textbox überspringen
06.01.2019 17:40:49
Karsten
Hallo Daniel,
das Exit-Event habe ich eigentlich für die Textbox-Farbe bei Aktivierung vorgesehen.
Doch Versuch macht kluch, ich habe es mal umgeschrieben. Erstaunlicher Weise liefert die Exit-Event-Variante genau dasselbe Ergebnis ab: Egal welche Textbox als Ziel angegeben wird, es wird immer nur eine Textbox übersprungen.
Anzeige
AW: Textbox überspringen
06.01.2019 17:45:40
Daniel
Kannst du Mal die Datei mit dem Problem hier hochladen und dazu schreiben, was genau passieren soll, dh um welche Textboxen geht es, welche soll aktiv werden, wenn ein Wert eingegeben wurde, welche soll aktiv werden, wenn nichts eingegeben wurde?
Gruß Daniel
AW: Textbox überspringen
06.01.2019 18:43:23
Karsten
Ich habe die Datei hochgeladen: https://www.herber.de/bbs/user/126536.xlsm
Der Aufruf des Formulars erfolgt über den Button "Eingabe starten".
Bei einer Eingabe in der Textbox "Vorlage" soll er die Textboxen "Versendung" und "Fremd-Az" überspringen, also in der Textbox "Frist" landen.
Mein Benennungsschema: txtVorlage, txtFrist, usw.
Anzeige
AW: Textbox überspringen
06.01.2019 19:15:31
Daniel
Hi
naja das zusammenspiel der Events ist nicht so ganz trivial zu beherrschen, weil man nie so genau weiß, was jetzt genau aktiv ist, wenn die Eventcodes ausgeführt werden und sich EventCodes auch gegenseitig uns selbst nochmal aufrufen können.
damit das ganze zuverlässig funktioniert, solltest du die neue Textbox erst dann aktiviern, wenn alle anstehenden Eventmakros durchgelaufen sind.
dass kann man tun, indem man das Aktiviern der Textbox Frist in ein normales Makro auslagert und dieses Makro über Application.Ontime aufruft. Derart gestartete Makros werden nicht sofort ausgeführt, sondern erst dann wenn die laufenden Prozesse und anstehenden Events abgearbeitet sind, und das hilft dann oft in solchen Fällen.
1. schreibe in ein allgemeines Modul folgendes Makro:
Public Sub FristAktivieren()
frmAktenkontrolle.txtFrist.SetFocus
End Sub
2. schreibe ins AfterUpdate oder ins Exit-Event der Textbox Vorlage folgenden Code:
If Me.txtVorlage.Value  "" Then
Application.OnTime Now, "FristAktivieren"
End If
Gruß Daniel
Anzeige
AW: Textbox überspringen
06.01.2019 19:35:17
Karsten
Perfekt, jetzt erfolgt der Sprung genau so, wie er soll!
Und ich habe wieder etwas gelernt! :)
Vielen Dank fürs Nachschauen und die schnelle Lösung des Problems, Daniel!

93 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige