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

Listbox von UF 1 auslesen und in UF 2 an

Listbox von UF 1 auslesen und in UF 2 an
08.04.2020 12:42:09
UF
Hallo.
Ich bin weiterhin am üben und probiere mich weiter an VBA.
Dabei möchte ich aus der UF "frm_Teilnehmer" bei Selektion eines Eintrages in "lst_Teilnehmer" durch Klick auf "btn_ADD" die UF "frm_TN_ADD" öffnen und diesen Eintrag in seine Spalten aufteilen und in die vorhandenen Textboxen der UF "frm_TN_ADD" eintragen.
Anfangen wollte ich hier am Beispiel mit "Name" (txt_Name).
Private Sub UserForm_Initialize()
Dim i As Long, j As Long
'Me.txt_Name = frm_Teilnehmer.lst_Teilnehmer.List(frm_Teilnehmer.lst_Teilnehmer.ListIndex, 1)
For i = 0 To frm_Teilnehmer.lst_Teilnehmer.ListCount - 1
If frm_Teilnehmer.lst_Teilnehmer.Selected(i) = True Then
txt_Name.Value = frm_Teilnehmer.lst_Teilnehmer.List(i, 1)
End If
Next i
End Sub
aber es kommt die Meldung, das die Listeigenschaft nicht abgerufen werden kann.
Wo oder was ist falsch an meiner Vorgehensweise?
LG
Peer

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox von UF 1 auslesen und in UF 2 an
08.04.2020 14:58:29
UF
Moin!
Ohne deine Datei, werden dir die anderen glaube ich nicht helfen können. :-)
Habe deinen Code mal in die letzte Version eingebaut. Bei mir überträgt er den Namen in die richtige Box. Deshalb die Frage, wohin hast du deinen geposteten Code geschrieben? Der muss in die UF TN_Add. Vom Code her sieht es gut aus. Du könntest den Code aber vereinfachen. Da die Listbox in Teilnehmer nur singleselected eingestellt ist (bei mir), braucht du nicht durch alle zeilen gehen. DAs hier würde auch gehen - außer du stellt sie auf MultiSelect ein. Dann könnte es aber sein, dass von den alten Makros einige nicht passen.
Private Sub UserForm_Initialize()
Dim i As Long, j As Long
'Me.txt_Name = frm_Teilnehmer.lst_Teilnehmer.List(frm_Teilnehmer.lst_Teilnehmer.ListIndex, 1)
If frm_Teilnehmer.lst_Teilnehmer.ListIndex = -1 Then Exit Sub
txt_Name.Value = frm_Teilnehmer.lst_Teilnehmer.List(frm_Teilnehmer.lst_Teilnehmer.ListIndex, 1)
End Sub

VG
Anzeige
AW: Listbox von UF 1 auslesen und in UF 2 an
08.04.2020 15:13:21
UF
Hallo Matthias.
Ich habe deinen Code in frm_TN_ADD eingefügt, aber der Fehler bleibt. Der Debugger bleibt beim Starten der UF hängen und beanstandet die List Eigenschaft (Laufzeitfehler) -2147024809
https://www.herber.de/bbs/user/136541.xlsm
Gruß
Peer
AW: Listbox von UF 1 auslesen und in UF 2 an
08.04.2020 16:43:26
UF
Moin!
Das Problem ist, dass deine UF (Teilnehmer) nur 9 Spalten hat, du aber beim Geb.Datum auf eine 15 zugreifen willst. Das ist die Spalte im Blatt aber nicht in der Liste. Zudem solltest du bei Datum immer prüfen, ob es nicht leer ist. Ansonsten kannst du es nicht zuweisen. Und das ExitSub sollte an den Anfang, bevor du auf den Listindex zugreifst. Damit sieht der Code so aus.
Private Sub UserForm_Initialize()
Dim Anrede As String, Name As String, Vorname As String, PersNr As String, OE As String
Dim Taetigkeit As String, GB As String, GebTag As Date
Dim i As Long, j As Long
If frm_Teilnehmer.lst_Teilnehmer.ListIndex = -1 Then Exit Sub
Anrede = frm_Teilnehmer.lst_Teilnehmer.List(frm_Teilnehmer.lst_Teilnehmer.ListIndex, 0)
Name = frm_Teilnehmer.lst_Teilnehmer.List(frm_Teilnehmer.lst_Teilnehmer.ListIndex, 1)
Vorname = frm_Teilnehmer.lst_Teilnehmer.List(frm_Teilnehmer.lst_Teilnehmer.ListIndex, 2)
PersNr = frm_Teilnehmer.lst_Teilnehmer.List(frm_Teilnehmer.lst_Teilnehmer.ListIndex, 3)
OE = frm_Teilnehmer.lst_Teilnehmer.List(frm_Teilnehmer.lst_Teilnehmer.ListIndex, 4)
Taetigkeit = frm_Teilnehmer.lst_Teilnehmer.List(frm_Teilnehmer.lst_Teilnehmer.ListIndex, 5)
GB = frm_Teilnehmer.lst_Teilnehmer.List(frm_Teilnehmer.lst_Teilnehmer.ListIndex, 6)
If frm_Teilnehmer.lst_Teilnehmer.List(frm_Teilnehmer.lst_Teilnehmer.ListIndex, 7)  "" Then _
GebTag = frm_Teilnehmer.lst_Teilnehmer.List(frm_Teilnehmer.lst_Teilnehmer.ListIndex, 7)
If frm_Teilnehmer.lst_Teilnehmer.ListIndex = -1 Then Exit Sub
txt_Name.Value = frm_Teilnehmer.lst_Teilnehmer.List(frm_Teilnehmer.lst_Teilnehmer.ListIndex, 1)
End Sub

Aber nicht wundern. Der Code trägt nur in die 1. Box ein, da du vorher die Werte nur an Variablen zuweist.
VG
Anzeige
AW: Listbox von UF 1 auslesen und in UF 2 an
08.04.2020 20:24:22
UF
Hallo Matthias.
Genau habe ich es mir vorgestellt. Werde jetzt die Anderen anpassen und den Button die Events verpassen.
Vielen Dank für deine Hilfe.
Ich wünsche dir einen schönen Abend und bleibe gesund.
Mit besten Grüßen
Peer

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige