I am trying to check if an element from one string is contained in another without looping. As the loop results in a significant increase in run time.
The routine below does that but I am concerned that it may also cause a problem as it may find a result it should not.
To explain this is the log of the following script
Vals1= (PBCT, STBA, PNFP, BK, AOS, SXT, BMTC, LNT, PNM, WBS, SON, EIG, EWBC)
Vals2 = (AOS, BK, BUSE, CAC, EGBN, GGG, GSBC, LNT, NBHC, PNM, RY, STBA, PNFP, WBS, PBCT, SXT, BMTC, SON, EIG, EWBC)
The first line contains the element I am looking for in the second line. An example of my problem. If I was looking for “BCTS” , my script finds it in the second line “PBCT,SXT”.
tell application "Microsoft Excel" -- set Check to name of last sheet of active workbook -- select worksheet Check --Have to Switch so the "String value " command works tell active sheet to set UsedRows to ((first row index of (get end (last cell of column 1) direction toward the top))) set Rng1 to "A3:A" & UsedRows set Vals1 to string value of range Rng1 log Vals1 select worksheet "TestOptionData" -- tell worksheet "TestOptionData" to set UsedRows to ((first row index of (get end (last cell of column 1) direction toward the top))) set Rng2 to "A3:A" & UsedRows set Vals2 to string value of range Rng2 log Vals2 select worksheet Check end tell repeat with NewStock from 1 to count of Vals1 set StockSYMnew to (item NewStock of Vals1) if (Vals2 as string) contains StockSYMnew then display dialog Vals2 as string else display dialog "Does not" end if end repeat