Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

ListBox aus anderer Tabelle füllen
#1
Guten Morgen excelianer,

und wieder mal ein schwieriges Unterfangen so früh am Morgen.

Ich habe in Tabelle1 eine UF in der sich eine ListBox1 befindet. Diese soll ihre Daten aus Worksheets("usernamen") bekommen. Jedoch füllt sie sich nur aus Tabelle1


Code:
Private Sub ListBox1_Click()
  Dim lZeile As Long
 
 
    'Wenn der Benutzer einen Namen anklickt, suche ich
     'diesen in der Tabelle2 heraus und tragen die Daten
    'in die TextBoxen ein.
    
     'ich lösche standardmäßig alle bisherigen TextBoxen-Inhalte
    txt_nachname = ""
    txt_vorname = ""
    txt_passwort = ""

   
    'Nur wenn ein Eintrag selektiert/markiert ist
    If ListBox1.ListIndex >= 0 Then
   
        lZeile = 2 'Start in Zeile 2, Zeile 1 sind die Überschriften
        'Schleife solange etwas in der zweiten Spalte in Tabelle 1 drin steht
        Do While Trim(CStr(Worksheets("usernamen").Cells(lZeile, 1).Value)) <> ""
         
       
            'Wenn ich den Namen aus der ListBox1 in der Tabelle2 Spalte 2
            'gefunden habe, übertragen ich die anderen Spalteninhalte
            'in die TextBoxen!
            If ListBox1.Text = Trim(CStr(Worksheets("usernamen").Cells(lZeile, 1).Value)) Then
             
           
                'TextBoxen füllen
                txt_nachname = ListBox1.List(ListBox1.ListIndex, 0)
                txt_vorname = ListBox1.List(ListBox1.ListIndex, 1)
                txt_passwort = Worksheets("usernamen").Cells(lZeile, 3).Value
               
               
                Exit Do 
            
             End If
       
            lZeile = lZeile + 1 'Nächste Zeile bearbeiten
       
        Loop
       
    End If
End Sub
Das ist die Listbox und das der Start, hoffe das reicht um mir zu helfen.
Code:
Private Sub UserForm_Initialize()
   Dim lZeile As Long
 
    'Alle TextBoxen leer machen
    txt_nachname = ""
    txt_vorname = ""
    txt_passwort = ""
   

   
    'In dieser Routine laden ich alle vorhandenen
    'Einträge in die ListBox1
    ListBox1.Clear 'Zuerst einmal die Liste leeren
   
    lZeile = 2 'Start in Zeile 2, Zeile 1 sind die Überschriften
    'Schleife solange etwas in der zweiten Spalte in Tabelle 2 drin steht
    Do While Trim(CStr(Worksheets("usernamen").Cells(lZeile, 1).Value)) <> ""

 
       
        'Aktuelle Zeile in die ListBox eintragen
       
           ListBox1.AddItem
           ListBox1.List(ListBox1.ListCount - 1, 0) = Cells(lZeile, 1).Text
           ListBox1.List(ListBox1.ListCount - 1, 1) = Cells(lZeile, 2).Text
       
           
        lZeile = lZeile + 1 'Nächste Zeile bearbeiten
       
    Loop
     
End Sub


Schon mal großen dank!!!!
=wenn(a1="keine Ahnung";B1="mal nachdenken";C1="zu blöd ich frag das Forum")
Antworten Top
#2
Hallo,

Du musst halt das Worksheet überall referenzieren, als davorschreiben. Teilweise hast Du es ja auch schon.
Private Sub UserForm_Initialize()
  Dim lZeile As Long

   'Alle TextBoxen leer machen
   txt_nachname = ""
   txt_vorname = ""
   txt_passwort = ""
   
   'In dieser Routine laden ich alle vorhandenen
   'Einträge in die ListBox1
   ListBox1.Clear 'Zuerst einmal die Liste leeren
 
   lZeile = 2 'Start in Zeile 2, Zeile 1 sind die Überschriften
   'Schleife solange etwas in der zweiten Spalte in Tabelle 2 drin steht
   Do While Trim(CStr(Worksheets("usernamen").Cells(lZeile, 1).Value)) <> ""
       'Aktuelle Zeile in die ListBox eintragen
       ListBox1.AddItem
       ListBox1.List(ListBox1.ListCount - 1, 0) = Worksheets("usernamen").Cells(lZeile, 1).Text
       ListBox1.List(ListBox1.ListCount - 1, 1) = Worksheets("usernamen").Cells(lZeile, 2).Text
       lZeile = lZeile + 1 'Nächste Zeile bearbeiten
   Loop
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Kaywarri124
Antworten Top
#3
Shocked 
:33:  Und wieder mal Kuwer warst du mir eine große Hilfe!!! Ohman da hätte ich auch selbst drauf kommen können XD

Danke!!!!!
=wenn(a1="keine Ahnung";B1="mal nachdenken";C1="zu blöd ich frag das Forum")
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste