Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1804to1808
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
Textfelder mit 1 Spalte aus Listbox füll
11.01.2021 00:19:48
Andre
Hallo,
ich brauch ein wenig Hilfe:
In einer 3-spaltigen Listbox werden mir Daten angezeigt.
Beim Klick auf eine Zeile in der Listbox sollen mehrere Textfelder aus einem Tabellenblatt gefüllt werden.
Bedingung hierbei ist die erste Spalte der Listbox, in der eine einmalige Personalnummer steht.
Im Tabellenblatt steht die Personalnummer ebenfalls in der ersten Spalte.
In meinem Code werden werden die Textboxen aber entsprechend der Zeile des Tabellenblatts gefüllt und nicht aus der Zeile, in der die gleiche Personalnummer steht.
Kann mit jemand meinen Code verbessern?
Danke
Andre
Private Sub Listbox1_Click()
Dim wks As Worksheet
Dim Zeile As Long
Dim iItem As Integer
Set wks = Worksheets("MA")
With Me.ListBox1
iItem = .ListIndex
If iItem = -1 Then Exit Sub
Zeile = .List(iItem, 0)
Me.TextBox_PNR = wks.Cells(Zeile, 1).Value
Me.ComboBox_Anrede = wks.Cells(Zeile, 2).Value
Me.TextBox_Name = wks.Cells(Zeile, 3).Value
Me.TextBox_Gebname = wks.Cells(Zeile, 4).Value
Me.TextBox_Vorname = wks.Cells(Zeile, 5).Value
Me.ComboBox_Geschlecht = wks.Cells(Zeile, 31).Value
Me.TextBox_Strasse = wks.Cells(Zeile, 6).Value
Me.TextBox_PLZ = wks.Cells(Zeile, 7).Value
Me.TextBox_Ort = wks.Cells(Zeile, 8).Value
Me.ComboBox_National = wks.Cells(Zeile, 15).Value
Me.TextBox_Tel = wks.Cells(Zeile, 9).Value
Me.TextBox_Mobil = wks.Cells(Zeile, 10).Value
Me.TextBox_Mail = wks.Cells(Zeile, 11).Value
Me.TextBox_Gebdatum = wks.Cells(Zeile, 12).Value
Me.TextBox_Gebort = wks.Cells(Zeile, 13).Value
Me.TextBox_Gebland = wks.Cells(Zeile, 14).Value
Me.TextBox_Ausweisbis = wks.Cells(Zeile, 42).Value
End With
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Textfelder mit 1 Spalte aus Listbox füll
11.01.2021 01:03:30
ralf_b
wie füllst du denn die Listbox? Zufällig aus der selben Tabelle?
AW: Textfelder mit 1 Spalte aus Listbox füll
11.01.2021 08:06:02
Andre
Hallo Ralf,
die Datei hat ein Tabellenblatt.
Die 3 Spalten der Listbox fülle ich durch ein Abfrage mit einer Textbox (Textbox_Name).
Da der Name mehrmals vorkommen kann, wird mir noch der Vorname und die Personalnummer angezeigt.
Wenn ich jetzt den Mitarbeiter in der Listbox auswähle, soll Excel die Personalnummer in Spalte 1 suchen und die weiteren Textboxen füllen.
Gruß
Andre
AW: Textfelder mit 1 Spalte aus Listbox füll
11.01.2021 09:53:32
Werner
Hallo,
so:
Private Sub Listbox1_Click()
Dim wks As Worksheet
Dim raFund As Range
Set wks = Worksheets("MA")
If Me.ListBox1.ListIndex > -1 Then
With Me.ListBox1
Set raFund = wks.Columns(1).Find(what:=.List(.ListIndex, 0), LookIn:=xlValues, lookat:= _
xlWhole)
If Not raFund Is Nothing Then
Me.TextBox_PNR = raFund
Me.ComboBox_Anrede = raFund.Offset(, 1)
Me.TextBox_Name = raFund.Offset(, 2)
Me.TextBox_Gebname = raFund.Offset(, 3)
Me.TextBox_Vorname = raFund.Offset(, 4)
Me.ComboBox_Geschlecht = raFund.Offset(, 31)
Me.TextBox_Strasse = raFund.Offset(, 6)
Me.TextBox_PLZ = raFund.Offset(, 7)
Me.TextBox_Ort = raFund.Offset(, 8)
Me.ComboBox_National = raFund.Offset(, 15)
Me.TextBox_Tel = raFund.Offset(, 9)
Me.TextBox_Mobil = raFund.Offset(, 10)
Me.TextBox_Mail = raFund.Offset(, 11)
Me.TextBox_Gebdatum = raFund.Offset(, 12)
Me.TextBox_Gebort = raFund.Offset(, 13)
Me.TextBox_Gebland = raFund.Offset(, 14)
Me.TextBox_Ausweisbis = raFund.Offset(, 42)
End If
End With
End If
Set wks = Nothing: Set raFund = Nothing
End Sub
Gruß Werner
Anzeige
AW: Textfelder mit 1 Spalte aus Listbox füll
11.01.2021 11:45:18
Andre
Super Werner,
läuft!
Vielen Dank.
Gerne u. Danke für die Rückmeldung. o.w.T.
11.01.2021 11:46:12
Werner
AW: Textfelder mit 1 Spalte aus Listbox füll
11.01.2021 09:58:45
ralf_b
Also ist die Quelle der Listbox auch das Ziel der Textboxen?
Wenn ja schreibe beim einlesen der Listboxeinträge in eine unsichtbare Spalte die Zeilennr des Datensatzes. Damit kannst du sehr einfach auf die Daten für die Textboxen zugreifen. Das macht aber nur Sinn wenn nicht die Gefahr besteht das zwischendurch die Quelle geändert werden kann. Der Vorteil liegt darin das du die Arbeit der Datensatzsuche schon beim befüllen der Listbox erledigt hast.
Sonst wäre ein z.b. range.find() Konstruktion die Wahl der Mittel. Beispiele dazu gibt es reichlich hier.
Gruß
rb
Anzeige
AW: Textfelder mit 1 Spalte aus Listbox füll
11.01.2021 05:41:03
Hajo_Zi
die listbox soll ja Grundlage sein
Private Sub Listbox_Change()
TextBox1 = ListBox.List(ListBox.ListIndex, 0)
TextBox2 = ListBox.List(ListBox.ListIndex, 1)
End Sub
oder
Me.TextBox_Ausweisbis = wks.Cells(ListBox.ListIndex+1, 42).Value
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
ändern.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
Falls Link nicht ausgeführt wird:
1. Link kopieren
2. rechte Maustaste neues Fenter.
3. Umschaltstaste drücken und Klick auf den Link
4. STRG+ Link mit Maus aktivieren

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige