Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1112to1116
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

Combo-Box mit Enter-Taste verlassen

Combo-Box mit Enter-Taste verlassen
Gestrich
Guten Abend,
mein Name ist Thomas, meine VBA-Kenntnisse sind maßvoll. Ich bitte um folgende Hilfestellung.
Ich möchte dem Anwender die Möglichkeit geben, nach Eintrag einer Zahl in eine Combo-Box das Element mit der Enter-Taste zu verlassen, was mir nicht zu gelingt einzustellen.
Zur Zeit habe ich das Element direkt ins Tabellenblatt eingefügt, also keine userform benutzt.
Für eine Unterstützung wäre ich dankbar.
Beste Grüße
Thomas
AW: Combo-Box mit Enter-Taste verlassen
09.11.2009 19:22:36
Original
Hi,
verlassen, aber wohin?
Das geht mit dem Keydown-Ereignis.
mfg Kurt
AW: Combo-Box mit Enter-Taste verlassen
09.11.2009 23:00:34
Gestrich
Hallo Orignal Kurt,
danke für die schnelle Reaktion - und ich muß mich präzisieren.
Nach dem Drücken der Enter-Taste soll wieder das Tabellenblatt aktiviert sein.
Mein Versuch, die KeyDown-Methode anzuwenden, scheiterte daran, daß die Combo-Box bereits nach dem ersten Zeichen wieder verlassen wurde (das KeyPress-Verfahren habe ich ebenfalls erfolglos probiert).
Oder ich habe beim Codieren der Methode einen Fehler gemacht ...
Beste Grüße
Thomas
AW: Combo-Box mit Enter-Taste verlassen
10.11.2009 07:37:51
xr8k2
Hallo Thomas,
was für Ereignisse hast du denn noch an deine ComboBox gebunden (wenn du sagst, dass die Box nach dem 1. Zeichen wieder verlassen wird)? Zeig mal den gesamten Ereigniscode für das Element.
Gruß,
xr8k2
Anzeige
AW: Combo-Box mit Enter-Taste verlassen
10.11.2009 17:16:26
Gestrich
Hallo xr8k2,
Ich habe (im letzten Versuch) ein Change-Ereignis an die Combo-Box gehängt.
Unter Eigenschaften führt ListFillRange in der Tabelle einen Verweis auf vier aufeinanderfolgende Zellen; die erste ist leer. Ebenfalls ist D39 als LinkedCell angegeben.
Die Combo-Box ist nicht in eine userform integriert, sondern liegt direkt auf der Tabelle.
Hier der Code:
Private Sub ComboBox1_Change()
' Beim Aufruf soll erste Zeile aktiviert werden
ComboBox1.ListIndex = 0
' Falls in erster Zeile ein Wert steht, soll alles
' markiert sein (15 Stellen sind mehr als ausreichend)
ComboBox1.SelStart
ComboBox1.SelLength = 15
' Wert soll in der Tabelle, konvertiert als Zahl, abgelegt werden
Tabelle17.Range("D39").Value = Cdbl (ComboBox1.Value)
' In der Combo-Box soll Wert als Dezimalzahl mit Tsder-Pkt. angezeigt werden
ComboBox1.Value = Format(ComboBox1.Value, "##,##0.00")
' Enter-Taste soll zur Tabelle führen
If KeyCode = 13 Then
Unload ComboBox1
Tabelle17.Range("D42").Select
End If
End Sub
Guter Gruß
Thomas
Anzeige
AW: Combo-Box mit Enter-Taste verlassen
10.11.2009 14:06:39
Original
Hi,
ins aktive Blatt also, dort eine bestimmte Zelle, ev. die, die vor Betreten der Combobox aktiv war?
Wichtig wäre auch, ob eine Validierung bezüglich der Länge der Eingabe stattfinden soll.
mfg Kurt
AW: Combo-Box mit Enter-Taste verlassen
10.11.2009 17:21:34
Gestrich
Hi Kurt,
ich habe Code und ergänzende Angaben als Antwort auf einen Beitrag von xr8k2 ins Forum gestellt.
Dennoch zu Deinen Nachfragen: Combo-Box liegt direkt im aktiven T.-Blatt. Nach Verlassen soll wieder eine Zelle in jenem Blatt aktiv sein. Eine Längenvalidierung muß m. E. nicht stattfinden. Ich habe (erfolglos) versucht, bis zu max. 15 Zeichen in der Combo-Box über SelLength zu markieren.
Guter Gruß
Thomas
Anzeige
AW: Combo-Box mit Enter-Taste verlassen
10.11.2009 17:37:38
Original
Hi,
lad mal besser ein kleines Beispiel hoch, deine Beschreibung ist etwas unklar.
mfg Kurt
AW: Combo-Box mit Enter-Taste verlassen
10.11.2009 18:03:57
Gestrich
Hi Kurt,
hier das Beispiel. Im Blatt "Lies_das" noch ergänzende Angaben.
Gruß
Thomas
P. S.: Habe noch nie in diesem Forum eine Datei hochgeladen. Eine meldung sagte mir, ich solle einen Namen in die Meldung kopieren. Hier 'isse:
https://www.herber.de/bbs/user/65738.xls
AW: Combo-Box mit Enter-Taste verlassen
10.11.2009 22:16:13
Original
Hi,
so richtig versteh ich das trotz des Beispiels nicht.
Mal prinzipiell, wenn eine Box per ListFillRange gefüllt wird, ist sie an die Datenquelle
gebunden und kann nicht geändert werden, es sei denn, die zu Grunde liegenden Zellen
werden geändert.
In deinem Fall müüste die Box per AddItem gefüllt werden, um die individuelle Eingabe
zu ermöglichen. Die LinkedCell muss auch entfallen und der Wert stattdessen im Click-
oder Change-Ereignis übergeben werden, damit er in eine Zahl gewandelt werden kann.
Eine Validation auf Zahlewerte ist ebenfalls nötig, weil es ansonsten zu Fehlern kommt,
da bekanntlich die Werte aus der Box zunächt mal Texte sind, auch wenn sie numerisch sind,
kurz, es muss sichergestellt werden, dass nur Zahlen und ggf. ein Komma eingegeben werden kann.
Zu allem findest du genügend im Archiv.
Das Verlassen kann dan im gesonderten Ereignis KeyDown passieren.
mfg Kurt
Anzeige
AW: Combo-Box mit Enter-Taste verlassen
10.11.2009 23:34:49
Gestrich
Hi Kurt,
danke für feedback.
Wesentlich für mich ist vermutlich der Hinweis mit dem AddItem. das muß ich mir dann aneignen.
Die übrigen Dinge weiß ich direkt umzusetzen.
Eine Frage aber bleibt zu Deinem letzten Satz: Muß ich zwei Subs (die letzte, verbunden mit dem KeyDown-Ereignis) erstellen oder soll alles in einer Sub stehen, die durch ein KeyDown ausgelöst wird?
Gruß
Thomas

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige