Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
924to928
924to928
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Exit-Ereignis

Exit-Ereignis
13.11.2007 23:37:00
Niki
Hallo
Auf einem Userform sind 3 Comboboxen(Tabindex 0-2) und 3 Commandbuttons(Tabindex 3-5) platziert, nach vollständiger Eingabe in die Paarbox(Combobox1) soll überprüft werden ob dieser Name schon in einer Liste vorhanden ist, wenn nicht sollen verschiedenen Aktionen gemacht werden (klappt nicht vollständig), ansonsten soll nichts passieren (klappt).
Folgender Code für das Exit-Ereignis verwende ich:

Private Sub PaarBox_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If PaarBox.ListIndex > 0 Then
SpielerBox1.Value = PaarBox.List(PaarBox.ListIndex, 1)
SpielerBox2.Value = PaarBox.List(PaarBox.ListIndex, 2)
hinButton.SetFocus
End If
End Sub


Aber nach der Abarbeitung hat nicht hinButton(commandbutton1) den Focus sondern Spielerbox2(Combobox3).
Wenn man mit einem Haltepunkt die Abarbeitung unterbricht und dann per Einzelschritt(F8) weitergeht sieht man das folgendes geschieht:
es klappt alles, sobald aber die Abarbeitung an hinbutton.Setfocus kommt fängt die gesamte Sub wieder von vorne an (denke ist korrekt) kommt wieder an hinButton.SetFocus geht darüber hinweg erreicht "End Sub"(bis hier hin hat nichts den Focus), das Userform wird kurz angezeigt (Sekundenbruchteile) danach ist die "End If"- Zeile wieder farblich markiert (ab hier hat hinButton den Focus(schwarzer Rahmen)) geht man dann aber weiter wird "End Sub"wieder erreicht ( bishier her hat hinButton den Focus) lässt man dann den Einzelschritt ausführen wird das UserForm ganz normal angezeigt aber Spielerbox2 hat den Focus.
Dies geschieht aber nur wenn man mit Enter oder Tabstop aus der Combobox rausgeht, klickt man aber mit der Maus auf einen der Commandbuttons oder in eine der beiden andern Comboboxen dann findet dieselbe Abarbeitung statt aber hinButton hat den Focus.
die 6 Elemnte haben folgende Einstellungen
Combobox1 Name=Paarbox TabIndex=0 TabStop=True
Combobox2 Name=Spielerbox1 TabIndex=1 TabStop=True
Combobox3 Name=Spielerbox2 TabIndex=2 TabStop=True
Commandbutton Name=hinbutton TabIndex=3 Tabstop=True
Commandbutton Name=endebutton TabIndex=4 Tabstop=True
Commandbutton Name=abbutton TabIndex=5 Tabstop=True
Kann mir einer Sagen woran das liegt, und/oder mir eine Lösung anbieten.
Danke Niki

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Exit-Ereignis
13.11.2007 23:47:00
Tino
Hallo,
füge Cancel = True in den Code mit ein.
Guss
Tino

AW: Exit-Ereignis
13.11.2007 23:59:00
Tino
Hallo,
oder lade mal die Datei.
Gruss
Tino

AW: Exit-Ereignis
14.11.2007 00:20:00
Niki
@ Tino
welche Datei?
Niki

AW: Exit-Ereignis
14.11.2007 01:00:00
Tino
Hallo,
ist in der Regel das in der du deine Userform aufgebaut hasst.;-)
Gruss
Tino

AW: Exit-Ereignis
14.11.2007 02:10:00
Niki
@Tino sorry dachte beim laden nocht an hochladen, sondern richtig laden:-)
@all
anbei eine abgespeckte Datei die alle wichtigen sachen enthält

Die Datei https://www.herber.de/bbs/user/47685.xls wurde aus Datenschutzgründen gelöscht


Anzeige
AW: Exit-Ereignis
14.11.2007 00:18:40
Niki
führt (egal an welcher stelle des Sub-Codes es steht) zur folgenden Fehlermeldung (kommt anstatt wie vorhin kurz das Userform):
Laufzeitfehler: '-2147467259 (80004005)' nicht näher bezeichneter Fehler.
Aber bei Debuggen wird dann die Zeile mit "hinButton.SetFocus" markeirt. Geht man dann aber mit F8 weiter fängt das Sub von vorne an läuft durch bis zum "End sub" und es kommt dieselbe Fehlermeldung wieder.
Damit funktionert das Sub  nicht einmal mehr dann wenn man mit der Maus klickt.
Das "True" funktioniert hätte mich aber auch gewundert bedeutet es doch, dass das Steuerelemnt denn Focus behält.
VBA-Hilfe:
Cancel Erforderlich. Ereignisstatus. False zeigt an, dass das Steuerelement das Ereignis verarbeiten soll (Voreinstellung). True zeigt an, dass die Anwendung das Ereignis verarbeitet und der Fokus auf dem aktuellen Steuerelement verbleibt.
Auch ein "Cancel=False" funktioniert nicht, dass hatte ich vorhin vergessen zu sagen, dass ich das schon ausprobiert habe.
Trozdem Danke

Anzeige
AW: Exit-Ereignis
14.11.2007 00:51:05
Tino
Hallo,
habe zwar keine lust gehabt deine Userform nachzubauen, aber so gehts.

Dim Dlauf As Boolean
Private Sub PaarBox_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Dlauf = True Then
hinButton.SetFocus
Exit Sub
End If
If PaarBox.ListIndex > 0 Then
Dlauf = True
SpielerBox1.Value = PaarBox.List(PaarBox.ListIndex, 1)
SpielerBox2.Value = PaarBox.List(PaarBox.ListIndex, 2)
hinButton.SetFocus
End If
End Sub


Gruss
Tino

AW: Exit-Ereignis
14.11.2007 02:14:47
Niki
Hallo
Funktioniert bei mir leider auch nicht, der Focus landet leider wieder in Spielerbox2. Ich habe nun auch eine abgespeckte Version hochgeladen.
es sind beide exit Varianten drin(meine auskommentiert)
Gruß Niki

Anzeige
AW: Exit-Ereignis
14.11.2007 02:29:00
Tino
Hallo,
Vorschlag: nimm doch dass Click Ereignis, geht auf alle fälle.

Die Datei https://www.herber.de/bbs/user/47686.xls wurde aus Datenschutzgründen gelöscht


Mache jetzt Feierabend, wünsche noch eine Gute Nacht.
Gruss
Tino

AW: Exit-Ereignis
14.11.2007 23:28:20
Niki
Hallo
Tino kannst du mir mitteilen welches Office du verwendest denn bei mir funktoniert es nicht. Ich selber benutzte Office 2003 SP3 Schüler-Studenten-Version.
Gruß Niki

Anzeige
AW: Exit-Ereignis
14.11.2007 23:42:05
Tino
Hallo,
ist ein Notebook von der arbeit.
Kann dir nur sagen es ist Office 2003 Pro.
vielleicht kannt du damit was anfangen!
Userbild
Gruss
Tino

AW: Exit-Ereignis
15.11.2007 00:00:15
Tino
Hallo,
habe gerate die letzte Datei noch einmal runder geladen, bei geht’s!
Gruss
Tino

AW: Exit-Ereignis
15.11.2007 00:01:00
Niki
ok ich habe eine neuere datei version aber wirklich interresant wäre die Excel info zufinden unter "?->info"
Userbild
könntest du mir noch mal die clickprozedur geben, sie ist leider nciht mehr auf dem server gewesen heute mittag.
Gruß Niki

Anzeige
AW: Exit-Ereignis
15.11.2007 00:54:18
Tino
Hallo,
hier die Info.
das Click Ereignis war deine ursprünglicher Code, nur in dem Click Ereignis und nicht in dem Exit
Userbild
Gruss
Tino

AW: Exit-Ereignis-Lösung
15.11.2007 01:20:36
Niki
Hallo Tino
Danke für deine Hilfe.
Ich habe es jetzt anders gelöst, warum es nicht klappte weis ich nicht. Inzwischen habe ich auch herraus gefunden, dass wenn ich den tabindex des hinbuttons auf 1 oder 2 setzte und damit zwischen die Paarbox und die Spielerbox(en) setzte klappt es auch schon mit meinem Exit sub.
Aber die Endgültige lösung ist mit einem Timer.

Dim dtime As Single
Private Sub PaarBox_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If PaarBox.ListIndex >= 0 Then 'Team ist hinterlegt
SpielerBox1.Value = PaarBox.List(PaarBox.ListIndex, 1)
SpielerBox2.Value = PaarBox.List(PaarBox.ListIndex, 2)
hinButton.SetFocus
dtime = Timer
End If
End Sub
Private Sub SpielerBox2_Enter()
If ((Timer - dtime) 


Gruß Niki

Anzeige
AW: Exit-Ereignis-Lösung
15.11.2007 11:52:48
Tino
Hallo,
viele Wege führen nach Rom :-)
Gruss
Tino

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige