Bitte um Hilfe bei VB Problem

Hallo an alle,
für meine Projektarbeit suche ich einen Weg, um drei Listen, in denen je eine Spalte mit einem Zahlen- u.Buchstabenstring steht miteinander zu vergleichen.Die Strings, die in allen drei Listen vorkommen, sollen in eine neue Liste geschrieben werden.
Bis jetzt klappt das nur in einzelnen Schritten (händisch). Es soll aber per Buttonklick in einem Modul möglich sein. Vielleicht kann mir jemand helfen? Bin leider noch Anfänger.
Mfg
Gagamello

hallo gagamello,

du sprichst von excel??
oder von txt-files?

ich würde das in excel mit einem verschachtelten „do until-loop“ lösen.

auf jeder deiner listen schreibst du am schluss der datensätze ein „END“ damit dein makro erkennt, wann schluss ist mit daten.

dann fängst du in dem style an:

do until sheets(0).cells(zeile, 1) = "END"

suchwert = sheets(0).cells(zeile, 1)

 do until sheets(1).cells(zeile1, 1) = "END"

 if suchwert = sheets(1).cells(zeile1, 1) then

 do until sheets(2).cells(zeile2, 1) = "END" then
 if suchwert = sheets(2).cells(zeile2,1) then

 'schreibe wert, da in allen 3 listen vorhanden

 end if

 zeile2 = zeile2 + 1
 loop

 end if

 zeile1 = zeile1 + 1
 loop


zeile = zeile +1
loop

so ungefähr jedenfalls, code ohne geewähr, aber vom prinzip würd ichs so machen

viel erfolg

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,

hab da nur mal schnell was zusammengecodet.
Klappt zwar auch ist aber nicht soooooo toll.

Also füg das in ein Modul ein

Private colList As New Collection
Public Sub VergleicheListboxes(lst1 As ListBox, lst2 As ListBox, lst3 As ListBox, lstResult As ListBox)
Dim lstEntry As Object
On Error GoTo EntryAlreadyExists1
For i = 0 To lst1.ListCount - 1
Set lstEntry = lst1
colList.Add lst1.List(i), lst1.List(i)
Set lstEntry = lst2
colList.Add lst2.List(i), lst2.List(i)
Next
Exit Sub
EntryAlreadyExists1:
For j = 0 To lst3.ListCount - 1
If lst3.List(j) = lstEntry.List(i) Then
lstResult.AddItem lst3.List(j)
Resume Next
End If
Next
Resume Next
End Sub

Und aufrufen tust du das ganze so

VergleicheListboxes List1, List2, List3, List4

Ich hoffe, dass sich der Code von selber erklärt

greetz

Mario