Hallo Malte,
teste mal, ob nachfolgender Code funktioniert:
Sub EssenTesten()
Dim Tier As String, Essen As String
Tier = "PFERD ALT KAROTTEN GRAS AEPFEL"
Essen = "(ESEL | PFERD | KUH) & (JUNG | ALT) & KAROTTEN "
MsgBox "Dieses Essen ist " & IIf(IsFoodGood(Tier, Essen), "geeignet", "nicht geeignet"), vbInformation, "Teste Essen"
End Sub
Sub EssenTesten2()
Range("C1").Value = IIf(IsFoodGood(Range("A1").Value, Range("B1").Value), "wahr", "falsch")
End Sub
Function IsFoodGood(ByVal Tier As String, ByVal Essen As String) As Boolean
Dim sArr1() As String, sArr2() As String
Dim i As Integer, j As Integer
Dim bCheck As Boolean
IsFoodGood = True
Tier = " " & Tier & " "
Essen = Replace(Replace(Essen, ")", ""), "(", "")
sArr1 = Split(Essen, "&")
For i = 0 To UBound(sArr1)
sArr2 = Split(Trim(sArr1(i)), "|")
bCheck = False
For j = 0 To UBound(sArr2)
If InStr(1, Tier, " " & Trim$(sArr2(j)) & " ", 1) > 0 Then bCheck = True
Next j
If bCheck = False Then IsFoodGood = False: Exit Function
Next i
End Function
viele Grüße
Karl-Heinz
|