kann ja gar nicht klappen, weil z.B.:
If (Tabelle2.Cells(2, 3).Value = Tabelle1.Cells(i, 3).Value Or Tabelle2.Cells(2, 3).Value = Tabelle1.Cells(i, 4).Value Or Tabelle2.Cells(2, 3).Value = Tabelle1.Cells(i, 5).Value) _
Spalten 1-3 sind verbunden, d.h. z2s1="A", z2s2="" und z2s3="" (!!)
Ich habe deinen code mal übersichtlicher gestaltet:
Dim i As Integer
i = 2
Dim Wertung As Double
M1 = Tabelle2.Cells(2, 3).Value
M2 = Tabelle2.Cells(2, 4).Value
M3 = Tabelle2.Cells(2, 5).Value
Do While IsEmpty(Tabelle1.Cells(i, 1)) = False
MM1 = Tabelle1.Cells(i, 3).Value
MM2 = Tabelle1.Cells(i, 4).Value
MM3 = Tabelle1.Cells(i, 5).Value
If (M1 = MM1 Or M1 = MM2 Or M1 = MM3) And (M2 = MM1 Or M2 = MM2 Or M2 = MM3) And (M3 = MM1 Or M3 = MM2 Or M3 = MM3)Then
Tabelle2.Cells(i + 3, 1).Value = Tabelle1.Cells(i, 1).Value
'Wertung...
Else
Tabelle2.Cells(i + 3, 1).Value = 0
End If
i = i + 1
Loop
Du merkst vielleivht, dass eine leere zelle genauso gesucht bzw gefunden wird wie eine zelle mit "A".
Nochmal zu den Kriterien:
Wenn auf blatt 2 M1=A, M2=B und M3=A - heisst das, dass nur einträge gesucht werden sollen, die ebenfalls so aufgebaut sind, oder reicht es, wenn in irgendeiner zelle "A" bzw "B" bzw "A" steht (was bei 2x "A" keinen Sinn macht)?
Wegen solchen dummen fragen muss man halt wissen, wofür die tabelle gebraucht wird.
|