Moin! Also dann probiere es mal so. Das Problem ist wieder, dass du zwar nach Betriebsnummer schaust (count if), dann aber in der match einen anderen Begriff suchst, wobei du da (also das System du selber schon :-) ) nicht weißt, ob es den gibt. Wenn es den nicht findet, kommt die Fehlermeldung. Die Version deshalb mit der einfachen match Version, wo immer was zurück kommt. Für dein Beispiel sollte aber finanzpartername den Wert "WELT" beinhalten. Das hattest du bisher nicht gschrieben, was da zugewiesen hast. Im Zweifel ersetzt mal die Funktion mit festen WErten (bsw. Welt) und gehen dann Schrittweise zurück zu Variablen. Instr kann man nutzen, wenn du den Bereich Zellenweise durchgehst. VG
spalte = Cells(3, Columns.Count).End(xlToLeft).Column
'sucht die zugehörige Reihe des entsprechenden Betriebs
drittesuche = Application.CountIf(ActiveSheet.Range("A5:A150"), betriebsnummer)
If drittesuche > 0 Then
' Achtung in finanzpartername muss Welt stehen !!! Danach wird gesucht!
If IsNumeric(Application.Match("*" & finanzpartnername, ActiveSheet.Range("A5:A150"), 0)) Then
reihebetrieb = Application.Match("*" & finanzpartnername, ActiveSheet.Range("A5:A150"), 0) + 4 'der Versatz, da es ja in Zeile 5 erst losgeht
End If
Else
End If
|