Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1012to1016
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
Listbox dynamisch mit Daten füllen
29.09.2008 16:02:44
Braleta
Hallo Gemeinde,
nach Recherchen im Archiv, in der Literatur und in mehreren Foren wage ich es jetzt, meine Frage hier zu stellen in der Hoffnung, eine Lösung zu erhalten.
Ich dachte immer ich wäre sooooooooo schlecht nicht mit Excel und VBA, aber jetzt zweifle ich ein bisschen daran.
Mein Problem:
Ich habe (in worksheets("Tabelle1")) ein Zeit-Berichtssystem, das soweit personalisiert wird, dass Namen und Vornamen des Berichtenden eingegeben werden und daraus dann Stammdaten ermittelt werden wie z.B. Personalnummer, Kostenstelle, Bereich, e-Mail-Adresse, u.s.w....
Diese Daten finde ich in einem zweiten Worksheet, in dem eine alphabetisch aufsteigend nach Nachnamen sortierte Tabelle steht.
Tippt jemand seinen Namen falsch ein, oder wird im backoffice für einen Mitarbeiter berichtet, dessen NamensSchreibweise nicht genau bekannt ist , soll es ausreichen, den ersten Buchstaben des Nachnamens einzugeben und diesen dann als Suchparameter für alle Nachnamen mit diesem Buchstaben zu finden.
Diese gefilterten Namen will ich in einer Listbox ausgeben, so dass einfach nur der richtige Namen angeklickt zu werden braucht , damit ich daraus dann die richtigen Werte finden und zur Verfügung stellen kann.
Bestimmt ist die Lösung einfach, ich komme aber einfach nicht darauf.
(ich bin anscheinend tatsächlich nicht so gut, wir ich gerne von mir glauben möchte).
Das Ganze wird im "Worksheet_SelectionChange(ByVal Target As Range)" abgewickelt.
Herzlichen Dank im Voraus
...braleta

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox dynamisch mit Daten füllen
29.09.2008 16:20:08
Rudi
Hallo,

den ersten Buchstaben des Nachnamens einzugeben


wo eingeben?
Gruß
Rudi

AW: Listbox dynamisch mit Daten füllen
29.09.2008 16:39:00
Braleta
Rudi,
tut mir leid, das habe ich nicht gesagt.
Ich habe ein Berichtsblatt, das neben den 31/30 Tagen eines Monats noch "Personalfelder" hat, und zwar Nachname und Vorname.
Gebe ich in eines dieser beiden Felder einen Char-String ein, wird der Change-Event gestartet und über den suche ich mit dem eingegebenen Namen in der Personaltabelle nach einem Match.
Habe ich einen Match, kann ich alle anderen relevanten Felder (PNUM, KOST, URL, MAIL, Bereich, etc...) füllen.
Habe ich keinen Match, verwende ich den ersten Buchstaben des Nachnamens als Suchargument, alle Namen mit dem gleichen ersten Buchstaben zu finden, um dem Endbenutzer alle diese gefundenen Namen anzubieten.
Meine Idee war es, dieses Angebot mit einer Listbox zu realisieren, weil man darin Einträge durch anklicken selektieren kann.
Aus einem solchen selektierten Wert kann/könnte ich dann die relevanten Felder für das Berichtsblatt füllen.
Jedenfalls, Rudi, schon mal danke für das Interesse...
Anzeige
AW: Listbox dynamisch mit Daten füllen
29.09.2008 16:38:45
Tino
Hallo,
hier mal ein Beispiel.
Hier wird in Spalte A in der Tabelle2 gesucht, Gorß.- und Kleinschreibung wird beachtet.
Dialog UserForm1
Option Explicit 
'Benötigt Userform 
'ein Textfeld mit Namen TextBox1 
'ein Listenfeld mit dem Namen ListBox1 
'ein Befehlsschaltfleche mit dem Namen CommandButton1 
Private Sub CommandButton1_Click() 
Dim tempAdresse As String 
Dim Zelle As Range 
Dim A As Long 
Me.ListBox1.Clear 
With Tabelle2 'Tabelle wo Daten gesucht werden sollen 
    For A = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row 
        If A = 1 Then 
             Set Zelle = .Range("A:A").Find(TextBox1, , xlValues, xlPart, xlByRows, xlNext, True, False) 
             If Zelle Is Nothing Then Exit For 
             Me.ListBox1.AddItem Zelle 
             tempAdresse = Zelle.Address 
        Else 
             Set Zelle = .Range("A:A").FindNext(Zelle) 
             If Zelle.Address = tempAdresse Or Zelle Is Nothing Then Exit For 
             Me.ListBox1.AddItem Zelle 
        End If 
    Next A 
End With 
End Sub 
 
 


Gruß Tino

Anzeige
AW: Listbox dynamisch mit Daten füllen
29.09.2008 16:57:00
Braleta
Hallo Tino,
danke für den Code, ich lese ihn mir durch und versuche, ihn an meine Bedürfnisse anzupassen.
Das "Me." ist schon mal ein interessanter Ansatz, ehrlich, den kenne ich (noch) nicht.
Jedenfalls danke; ich probiers, und dann melde ich mich!
...braleta (bruno)
AW: Listbox dynamisch mit Daten füllen
29.09.2008 17:25:00
Tino
Hallo,
"Me." gibt nur die Userform zurück (Kurtzschreibweise) in der Du dich befindest.
Anstelle von Me., könntest Du auch den Namen der Userform einsetzen.
Beispiel:
Me.ListBox1.Clear = UserForm1.ListBox1.Clear
Gruß Tino
AW: Listbox dynamisch mit Daten füllen
30.09.2008 09:36:54
braleta
Hallo Tino, hallo Rudi,
herzlichen Dank für die Hilfe, ich bin jetzt da, wo ich hin wollte.
Tino, das ".me" war genau der hilfreiche Part, ich verstehe mich selbst einfach nicht mehr, dass ich nicht selbst die volle Qualifikation verwendet habe.
Jetzt, mit der vollen Qualifikation (UserForm1.ListBox1.AddItem = ...), klappt alles bestens.
Noch ein Mal danke!
...braleta (bruno)
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige