Du musst das ganz anders aufbauen, nicht zwei verschachtelte Schleifen sondern zwei Schleifen hintereinander:
letzteZeile = Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To letzteZeile
fn1 = Cells(x, 1)
If fn = fn1 Then
'labels etc.
Exit For
End If
Next
If x > letzteZeile Then
letzteZeile = Cells(Rows.Count, 29).End(xlUp).Row
For x = 2 To letzteZeile
fn1 = Cells(x, 30)
If fn = fn1 Then
'labels etc.
Exit For
End If
Next
End If
Wenn der Wert in Bereich 1 nicht gefunden wurde wird so in Bereich 2 gesucht. Der erste Wert der gefunden wird wird verwendet, danach wird abgebrochen. Alles Andrere macht in deinem Makro eigentlich keinen Sinn. Bei deinem bisherigem Code, wird der letzte Wert der gefunden wurde verwendet (keine Abbruchbedingung). Der kann allerdings auch in Bereich 1 leigen, da Schleife 2 Teil von Schleife 1 ist.
Allerdings sollte kein Wert in Bereich 1 gefunden werden der in Bereich 1 nicht vorkommt... wenn Werte in BEIDEN Bereichen vorhanden sind wird der Wert aus Bereich 1 genommen...
Gruß
Till
|