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