VisualBasic Auslesen und füllen einer ListBox

Registriert
Jan. 2008
Beiträge
232
Guten Morgen,

ich habe ein Problem beim füllen einer ListBox in Excel.
Folgendes Problem: Meine Excel-Datei soll aus anderen Excel-Dateien sich die Werte ziehen und in 2 ListBoxen einfügen. Das funktioniert soweit gut.
Dort sind aber wiederkehrende Begriffe, welche nicht mehrfach in der Liste auftauchen sollen. Eine solche Abfrage habe ich auch eingebaut.

Jedoch verliert Excel durch das Öffnen der Dateien den Pfad zu den ListBoxen und weiß dann nicht, wo er drauf zugreifen soll. Ich bin mit meinem Latein am Ende und weiß nicht, wie er wieder zurück zu den ListBoxen finden soll.
Vielleicht habt ihr einen guten Tipp. Hier mein Code noch:

Code:
Private Sub CommandButton3_Click()
    Dim FSO As Object, fld As Object, file As Object
    Dim folder As String
    
    folder = Range("B1").Value                             
    doc = ActiveWorkbook.Name                               
    Set FSO = CreateObject("Scripting.FileSystemObject")   
    Set fld = FSO.GetFolder(folder)                         
    
    For Each file In fld.Files                             
        file_open = "\" & file.Name                             
        Workbooks.Open folder + file_open                     
        
        For a = 3 To 40
            If Not Cells(a, 3).Value = "" Then
                par = Cells(a, 3).Value
                Workbooks(doc).UserForm2.Activate            'hier versuche ich irgendwie wieder zur ListBox zurück zufinden
                If Not ListBox1.Items.Contains(par) Then
                    UserForm2.ListBox1.AddItem par
                    UserForm2.ListBox2.AddItem par
                End If
            End If
        Next a
        
        Workbooks(file.Name).Close False                     
    Next file                                               

    UserForm2.Show
End Sub
 
Hallo,

In welcher Zeile tritt denn der Fehler auf?
Auf den ersten Blick fehlt folgendes in Zeile 18:
If Not UserForm2.ListBox1.Items.Contains(par) Then

Ansonsten kann ich kaum glauben, dass das Kopieren der Werte richtig funktioniert.
Du Öffnest deine Datei, liest dann in der Schleife einen Wert ein, wechselst dann den Fokus auf die Hauptarbeitsmappe und fügst den Wert dort ein, wechselst dann aber nicht wieder den Fokus zurück.
 
Alchemist schrieb:
In welcher Zeile tritt denn der Fehler auf?
Auf den ersten Blick fehlt folgendes in Zeile 18:
If Not UserForm2.ListBox1.Items.Contains(par) Then

Aktuell tritt er in Zeile 17 auf, weil das was da steht Quatsch ist. ;)
Das mit UserForm2 habe ich auch schon probiert, aber dann gibt es ein Problem mit .Items.

Fehler beim Kompilieren: Methode oder Datenobjekt nicht gefunden.

Alchemist schrieb:
Ansonsten kann ich kaum glauben, dass das Kopieren der Werte richtig funktioniert.
Du Öffnest deine Datei, liest dann in der Schleife einen Wert ein, wechselst dann den Fokus auf die Hauptarbeitsmappe und fügst den Wert dort ein, wechselst dann aber nicht wieder den Fokus zurück.

Das stimmt. Danke für den Hinweis ;-).
Füge ich noch in Zeile 11 ein.
 
Zurück
Oben