Option
Explicit
Sub
test()
Dim
Str$, o$, c$, s$
Str =
"BANKERS TRUST CORPORATION(Banking services-United States Of America)"
If
Extract(Str, o, c, s)
Then
Debug.Print
"Organistion : "
& o
Debug.Print
"Herkunftsland : "
& c
Debug.Print
"Wirtschaftsektor : "
& s
Else
Debug.Print
">> FAILED"
End
If
End
Sub
Function
Extract(Str
As
String
, Organisation
As
String
, Country
As
String
, Sector
As
String
)
As
Boolean
Dim
bFlag(1
To
3)
As
Boolean
Dim
tmp$
Dim
i&
For
i = 1
To
Len(Str)
Select
Case
Mid$(Str, i, 1)
Case
"("
If
bFlag(1)
Then
Exit
Function
bFlag(1) =
True
Organisation = Trim$(tmp)
tmp =
""
Case
")"
If
bFlag(3)
Or
Not
(bFlag(1)
And
bFlag(2))
Or
Len(Trim$(tmp)) = 0
Then
Exit
Function
bFlag(3) =
True
Country = Trim$(tmp)
tmp =
""
Exit
For
Case
"-"
If
bFlag(2)
Or
Not
bFlag(1)
Or
bFlag(3)
Then
Exit
Function
bFlag(2) =
True
Sector = Trim$(tmp)
tmp =
""
Case
Else
tmp = tmp & Mid$(Str, i, 1)
End
Select
Next
Extract =
True
End
Function