Hallo an alle,
habe eine Userform mit folgendem Code:
Private Sub ListBox1_Click()
 Dim pfadPDF As String
 Dim lZeile As Long
 
   'Wenn der Benutzer einen Namen anklickt, suchen wir
   'diesen in der Tabelle6 heraus und tragen die Daten
   'in die TextBoxen ein.
   
   'Wir löschen standardmäßig alle bisherigen TextBoxen-Inhalte
   TextBox1 = ""
   TextBox2 = ""
   TextBox3 = ""
   TextBox4 = ""
   TextBox5 = ""
   TextBox6 = ""
   TextBox7 = ""
   TextBox8 = ""
   
   'Nur wenn ein Eintrag selektiert/markiert ist
   'If ListBox1.ListIndex >= 0 Then
   
       lZeile = 2 'Start in Zeile 2, Zeile 1 sind ja die Überschriftrn
       'Schleife solange etwas in der ersten Spalte in Tabelle 6 drin steht
       Do While Trim(CStr(Tabelle6.Cells(lZeile, 2).Value)) <> ""
       
           'Wenn wir den Namen aus der ListBox1 in der Tabelle 6 Spalte 1
           'gefunden haben, übertragen wir die anderen Spalteninhalte
           'in die TextBoxen!
           If ListBox1.Text = Trim(CStr(Tabelle6.Cells(lZeile, 2).Value)) Then
           
               'TextBoxen füllen
               TextBox1 = Trim(CStr(Tabelle6.Cells(lZeile, 1).Value))
               TextBox2 = "Nr_" & Tabelle6.Cells(lZeile, 2).Value
               TextBox3 = Tabelle6.Cells(lZeile, 3).Value
               TextBox4 = Tabelle6.Cells(lZeile, 4).Value
               TextBox5 = Tabelle6.Cells(lZeile, 5).Value
               TextBox6 = Tabelle6.Cells(lZeile, 6).Value
               TextBox7 = Format(Tabelle6.Cells(lZeile, 7).Value, "Currency")
               TextBox7.BackColor = Tabelle6.Cells(lZeile, 12).DisplayFormat.Interior.Color
               TextBox8 = Tabelle6.Cells(lZeile, 9).Value
                           
               Exit Do 'Vorzeitiges Ende, da der Datensatz schon gefunden ist
           
           End If
       
           lZeile = lZeile + 1 'Nächste Zeile bearbeiten
       
       Loop
       
       pfadPDF = Worksheets("Konfiguration").Range("C3").Value
       Dim MyObj As Object, MySource As Object, file As Variant
       file = Dir(pfadPDF)
       While (file <> "")
       If InStr(file, UserForm2.TextBox2) Then
       UserForm2.TextBox9.Value = pfadPDF & file
       Exit Sub
       End If
       file = Dir
 Wend
   
End Sub
Code:
Private Sub UserForm_Initialize()
 
 Dim lZeile As Long
 
   'Alle TextBoxen leer machen
   TextBox1 = ""
   TextBox2 = ""
   TextBox3 = ""
   TextBox4 = ""
   TextBox5 = ""
   TextBox6 = ""
   TextBox7 = ""
   TextBox8 = ""
 
   'In dieser Routine laden wir alle vorhandenen
   'Einträge in die ListBox1
   ListBox1.Clear 'Zuerst einmal die Liste leeren
       
   lZeile = 2 'Start in Zeile 2, Zeile 1 sind ja die Überschriftrn
   'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht
   Do While Trim(CStr(Tabelle6.Cells(lZeile, 2).Value)) <> ""
       
       'Aktuelle Zeile in die ListBox eintragen
       'ListBox1.AddItem "Rechnung Nr. " & Trim(CStr(Tabelle6.Cells(lZeile, 2).Value) & " vom " & Trim(CStr(Tabelle6.Cells(lZeile, 1).Value)) & " - " & Trim(CStr(Tabelle6.Cells(lZeile, 4).Value)))
       ListBox1.AddItem Trim(CStr(Tabelle6.Cells(lZeile, 2).Value))
       lZeile = lZeile + 1 'Nächste Zeile bearbeiten
       
   Loop
End Sub
Funktioniert soweit recht gut, nur möchte ich in der Listbox1 nicht alle Einträge von Spalte 1 haben, sondern sie an ein Bedingung knüpfn, z.B., wenn Tabelle6.Cells(lZeile, 11).Value = "" oder wenn Tabelle6.Cells(lZeile, 12).Value ist rot markiert.
	Bin für jede Hilfe dankbar 
     |