Anzeige
Archiv - Navigation
864to868
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
864to868
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Userform zur Suche von Namen

Userform zur Suche von Namen
25.04.2007 19:47:46
Namen
Hallo Excelfreunde,
ich habe eine Userform in der ich in einer Textbox Namen eingeben kann. In einer dazugehörigen Listbox werden alle Namen des Tabellenblattes angezeigt, die mit den gleichen Buchstaben wie der "gesuchte" Namen aus der Textbox beginnen.
Der gesuchte Namen soll nun nachdem man die Textbox verläßt (Textbox_Exit) in eine Zelle eingetragen werden, oder nachdem der gesuchte Namen in der Listbox angeklickt wird (Listbox_Change).
Ich bekomme es hin, dass das eine oder andere geht. Jedoch nicht wenn ich beide Lösungen (Textbox_exit und Listbox_Change) kombiniere.
Ich habe die Datei hinzugefügt, damit es besser verständlich ist. https://www.herber.de/bbs/user/42022.xls
Wie kann ich das Problem lösen?
Gruß
Dieterlem

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform zur Suche von Namen
25.04.2007 20:42:57
Namen
Hallo Dieter,
wie willst du das kombinieren? Mir ist nicht klar, was du erreichen möchtest.
Was soll beim Verlassen der TextBox passieren?
Es gibt nur zwei Möglichkeiten, die TextBox zu verlassen:
- Schließen wird gedrückt - dann wird geschlossen.
- Die Auswahl in der ListBox wird getroffen - dann tritt ListBox_Change ein und der Wert wird in die Zelle geschrieben.
Wozu soll TextBox-Exit dann gut sein?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Userform zur Suche von Namen
25.04.2007 21:05:00
Namen
Beim Textbox_Exit Ereignis soll der erste Wert aus der Ergebnisliste (Listbox) verwendet werden.
Beim Listbox_Change Ereignis soll der gewählte Wert der Ergebnisliste (Listbox) verwendet werden.

Anzeige
AW: Userform zur Suche von Namen
25.04.2007 22:34:00
Namen
Hallo,
es gibt (weiterhin) nur zwei Möglichkeiten, die TextBox zu verlassen:
a) Schließen wird gedrückt - dann wird geschlossen.
b) Die Auswahl in der ListBox wird getroffen - dann tritt ListBox_Change ein
und der ausgewählte Wert wird in die Zelle geschrieben.
Bei Möglichkeit b) wäre es sinnlos, den ersten Wert aus der Ergebnisliste (Listbox)
in die Zelle zu schreiben - er würde beim ListBox_Change sofort mit dem ausgewählten Wert überschrieben.
Bleibt die Möglichkeit a). Dann tritt das Click-Ereignis des Schließen-Buttons ein.
Hier könnte man den ersten Listenwert in die Zelle übernehmen.
TextBox_Exit wird in keinem Fall gebraucht.
Probier mal (Code der UF):

Option Explicit
Private Sub cbuSchließen_Click()
If lboAuswahl.ListCount > 0 Then Sheets(1).Range("B1") = lboAuswahl.List(0)
Unload Me
End Sub
Private Sub lboAuswahl_Change()
Sheets(1).Range("B1") = lboAuswahl.Value
Unload Me
End Sub
Private Sub tboSuch_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim SuchName As String, rngF As Range, strF As String
lboAuswahl.Clear
SuchName = tboSuch & "*"
'   If SuchName = "" Then Exit Sub  ' Suchname kann nicht leer sein, ist mindestens "*"
With Sheets(1).Range("A1:A100")
Set rngF = .Find(What:=SuchName, LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
If Not rngF Is Nothing Then
strF = rngF.Address
Do
lboAuswahl.AddItem rngF.Value
Set rngF = .FindNext(rngF)
Loop While Not rngF Is Nothing And rngF.Address  strF
End If
End With
If lboAuswahl.ListCount = 0 Then MsgBox "Der gesuchte Wert wurde nicht gefunden!"
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Userform zur Suche von Namen
26.04.2007 06:08:00
Namen
Hallo Erich,
mit dem Textbox_Exit Ereignis will icherreichen, dass wenn der gesuchte Namen als erster wert in der Listbox steht dieser gewählt wird sobald man die Textbox mit Enter oder mit Tab verläßt.
Damit soll man eine schnellere Auswahl treffen können, da man die Maus nicht beutzen muss.
Gruß
Dieterlem

AW: Userform zur Suche von Namen
26.04.2007 10:26:00
Namen
Hallo Dieterlem,
jetzt wird es klarer: Du willst beim Verlassen der Textbox unterscheiden zwischen
- TAB- oder Enter-Taste
- Mausklick in die Listebox oder auf Schließen
Das geht nicht mit dem Exit - hier ist unbekannt, wie die Textbox verlassen wird.
Ich habe momentan wenig Zeit, aber mit GetKeyState funzt es einigermaßen.
Probier mal das bitte aus:
https://www.herber.de/bbs/user/42035.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Vielen Dank
26.04.2007 17:51:00
Dieterlem
Das funktioniert so wie ich es mir vorgestellt habe.
GetKeyState kannte ich bis dato noch nicht.
Ich wünsche Dir noch einen schönen Tag

Danke für Rückmeldung - Gerne! (oT)
26.04.2007 20:52:00
Erich

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige