ich steh seit 2 Tagen vor einem unlösbarem Problem. Entweder hab ich irgendwo einen Fehler oder ich habs falsch programmiert.
Zu meinem Problem : Tabelle "Datenbasis" und Tabelle "Import". Es müssen Werte aus Datenbasis mit werten aus Import verglichen werden.
bsp.:
Datenbasis; Spalte B
12ABCD34
xx5555zz
88000011
-> Prio = 12, PGN = ABCD, SA = 34, das sind die 3 Bereiche. Identifier is der ganze String.
-Prio = xx, PGN = 5555, SA = zz usw usf.
In Import in Spalte D sind importierte Werte die genauso aufgebaut sind. Bis zu 40000 Werte.
So, mein Problem ist, das zuerst der Identifier (der ganze String) in Import gesucht werden muss, wenn vorhanden soll in Datenbasis zwei Zellen grün eingefärbt werden. Wenns nicht vorhanden ist, rot einfärben. Das funktioniert auch alles super.
So nun kommts. Ich muss, wenn der Identifier nicht vorhanden ist, prüfen(danach im Else zweig?) ob PGN vorhanden ist, wenn ja, überprüfen ob SA vorhanden ist, wenn ja, dann Prio vorhanden is. Wenn PGN nicht vorhanden ist, rot einfärben. Wenn SA ODER Prio nciht vorhanden ist, gelb einfärben.
Sub testauswertung6()
Dim zeilen_max As Long, zaehler As Long
Dim Prio As String, PGN As String, SA As String
Dim rngFind As Range
Dim PGNfind As Range
zeilen_max = Worksheets("Datenbasis").Cells(Rows.Count, 2).End(xlUp).Row
For zaehler = 8 To zeilen_max
Identifier = Worksheets("Datenbasis").Cells(zaehler, 2)
Prio = Left(Identifier, 2)
PGN = Mid(Identifier, 3, 4)
SA = Right(Identifier, 2)
If Identifier <> "" Then
With Worksheets("imported").Range("D:D")
Set rngFind = .Find(Identifier, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, MatchByte:=False)
If Not rngFind Is Nothing Then
If Mid((rngFind.Text), 3, 4) = PGN And Right((rngFind.Text), 2) = SA And Left((rngFind.Text), 2) = Prio Then
Worksheets("Datenbasis").Cells(zaehler, 2).Interior.ColorIndex = 4
Worksheets("Datenbasis").Cells(zaehler, 9) = "Identifier vorhanden"
Worksheets("Datenbasis").Cells(zaehler, 9).Interior.ColorIndex = 4
Else
Worksheets("Datenbasis").Cells(zaehler, 2).Interior.ColorIndex = 3
Worksheets("Datenbasis").Cells(zaehler, 9) = "Identifier n. vorhanden"
Worksheets("Datenbasis").Cells(zaehler, 9).Interior.ColorIndex = 3
End If
End If
End With
End If
Next zaehler
End Sub
Ich komm auf keinen grünen zweig. Das Problem ist, ich such zuerst nach dem ganzen string. Ich weiß nicht wie ich, wenn der ganze String nicht vorhanden ist, nach PGN+SA+Prio suchen soll.
Jemand ne Ahnung?
Bin mit meinem Latein am Ende
gruß