Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

ListBox füllen

Betrifft: ListBox füllen von: Daniel
Geschrieben am: 21.08.2014 13:25:56

Hallo,
ich stosse gerade an meine noch niedrigen vba-Grenzen.
Ich bin schreibe gerade einen code zusammen, der als Ziel hat, mehrfache Einträge zu finden.
Als Grundlage dient eine Excel-Tabelle. In dieser Excel-Tabelle sind pro Zeile bis zu vier Einträge.(deutsch, englisch, spanisch und italienisch).
Jetzt soll ich herrausfinden, ob in verschiedenen .txt-Dateien ein und das selbe Wort mehrfach vorkommt! Zum Beispiel: in der Datei AA steht Haus, in der Datei SB steht house.
Das klappt soweit auch. Als Ergbnis erhalte ich dann eine Tabelle, in der alle eingelesenen Dateien in der ersten Spalte stehen und in den folgenden Zeilen die gefundenen Worte.
Diese Tabelle würde ich jetzt gerne komprimiert ausgeben. Das heisst, es sollen nur die Zeilen ausgegeben werden, in denen mindestens zwei Einträge vorhanden sind.
Eine Ausgabe über eine listbox ist da wohl die beste weil übersichtlichste Variante. Leider schaffe ich es nicht die zweie Spalte zu befüllen :\
Mehrere Versuche sind fehlgeschalgen, sodass ich den Wald vor Bäumen nicht mehr sehe.

Hier mein Code, mit dem ich das Erbebniss unschön ausgebe (Hinweis auf userform -> textfeld fehlt

Sub ergbnisausgabe()
Dim Anzeige As String
Dim x, y, z, a
Dim Letztezeile As Long
Dim Codewort As String
Dim zaehler As Long
Dim max As Long

Meldung = ""
letzteSpalte = Cells(1, Columns.Count).End(xlToLeft).Column
Letztezeile = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
z = 1
For x = 4 To Letztezeile
    y = WorksheetFunction.CountA(Rows(x))                       'Anzahl der nicht leeren Zellen  _
in einer Zeile wird ermittel
    If y > max Then max = y
    Debug.Print max
    If y > 1 Then
        zaehler = zaehler + 1
        Debug.Print zaehler
        Do Until z = letzteSpalte + 1
            If Cells(x, z) <> "" Then
                Codewort = Cells(x, z)
                Anzeige = Anzeige & Cells(1, z) & ", "
            End If
            z = z + 1
        Loop
        Meldung = "-Das Codewort " & Codewort & " wurde in den Dateien: " & Anzeige & "  _
gefunden!" & vbCrLf & vbCrLf & Meldung
        z = 1
        Anzeige = ""
    End If
Next x
'ReDim array1(Letztezeile, letzteSpalte) As String


End Sub

  

Betrifft: AW: ListBox füllen von: Franc
Geschrieben am: 21.08.2014 20:40:32

Äh ... Filter setzen?
Ich nehme mal folgendes an.

Spalte 1 = Datei xyz
Spalte 2 = 1. Wort = haus
Spalte 3 = 2. Wort = house bzw. leer
Spalte 4 = 3. Wort bzw. leer

Wenn ja, Filter rein und Spalte 3 nach "nicht leeren" Zellen filtern.
Damit hast du eine Liste mit mind. 2 Einträgen.
Wenn 3 willst, dann den Filter in Spalte 4 rein ect.

Falls ich da grad ganz falsch liege wäre auch hier eine Beispielmappe nett, wie die importierte "Rohliste" aussieht mit der man weiterarbeiten kan/soll.


 

Beiträge aus den Excel-Beispielen zum Thema "ListBox füllen"