Hi Fin, Yes, it's definitely possible!
As Sam suggested, if you could post a sample workbook, it would help get you an exact solution. I know nothing about REXX script. And your other logic about the stocks, and where the information is coming from isn't clear to me. Here, though, is one way to parse a string/cell value out into elements seperated with "+", extract the Stock symbol before the "_" and then extract POS/NEG to True/False: Dim StockPosNeg As Variant, Stock As String, PosNeg As Boolean Dim pos As Integer For Each StockPosNeg In Split(CellVal,"+") pos=Instr(CellVal,"_") Stock=Left(CellVal,pos-1) PosNeg=Right(CellVal,Len(CellVal)-pos)="POS" ' Do something with above values here. ' Store in spreadsheet or array variable if the context of all stocks in cell ' are required to process. Next StockPosNeg ' If stored, process the cell as a whole with it's parsed contents here. No error checking / assumes cell value is predictably as you described and in all upper case. Asa From: excel-macros@googlegroups.com [mailto:excel-macros@googlegroups.com] On Behalf Of Fin Sent: Monday, October 31, 2011 1:43 PM To: excel-macros@googlegroups.com Subject: $$Excel-Macros$$ Test Cell String for Element match and report Accuracy -- here we write out the macro to highlight active stocks in yellow v.line_out = 'Sub Color_Active_Yellow()' v.line_out = 'Dim CellVal As Variant' v.line_out = ' Selection.CurrentRegion.Select' v.line_out = ' iRows = Selection.Rows.Count' v.line_out = ' iColumns = Selection.Columns.Count' v.line_out = ' For iC = 1 To iColumns' v.line_out = ' For iR = 1 To iRows' v.line_out = ' Select Case Selection.Item(iR, iC).Value' do i = 1 to ctl.0 v.line_out = ' Case "'||ctl.1.i||'"' fo~lineout(v.line_out) v.line_out = ' Selection.Item(iR, iC).Interior.ColorIndex = 6' fo~lineout(v.line_out) end v.line_out = ' End Select' v.line_out = ' Next iR' v.line_out = ' Next iC' v.line_out = ' Range("A2").Select' v.line_out = 'End Sub' I have a Daily Stock worksheet that in one specific column, I have various strings containing multiple combinations of stocks in various conditions separated by '+' ie: ABC_POS+DEF_NEG+GHI_POS. I need to be able to test the results of these strings based upon how the individual stock closed on a specific day. I have the above partial REXX script that does a similar process but based on individual stocks in a cell (not in combined strings) and when it finds said condition it changes the background color to indicate result. I need to be able write a new REXX script that produces a VBA script to break each these combined cell strings in the column into individual elements, test for true/false and write results to another 2 columns counting the number of correct stocks in one, then writing those that were wrong to another. Perhaps also turning the cell background color green if all elements are correct. For example,if column J2 contains the string 'ABC_POS+DEF_NEG+GHI_POS' and the stock DEF actually closed DEF_POS in my REXX script, then I need to write 2 columns that says 1,DEF_POS. If 2 are wrong, then I need the columns to say 2, DEF_POS+GHI_NEG. I Already have a column stating the number of elements contained in the string, and I can use that to calculate accuracy. In the REXX script above, the actual result of that script gives me a macro with as many lines in the Case "'||ctl.1.i||'"' as are present in the ARRAY I populate. Each line in the resulting VBA script might therefore say: Case "ABC_POS" Case "DEF_POS" Case "GHI_NEG" Case "ABC_POS" ... and so on depending on the day in question. The worksheet may contain some 20 columns and say 5000 rows (different stock combination strings). Can anyone please give me some idea if this is possible with a VBA script and how to do so ? Many thanks in advance. -- FORUM RULES (925+ members already BANNED for violation) 1) Use concise, accurate thread titles. Poor thread titles, like Please Help, Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get quick attention or may not be answered. 2) Don't post a question in the thread of another member. 3) Don't post questions regarding breaking or bypassing any security measure. 4) Acknowledge the responses you receive, good or bad. 5) Cross-promotion of, or links to, forums competitive to this forum in signatures are prohibited. NOTE : Don't ever post personal or confidential data in a workbook. Forum owners and members are not responsible for any loss. ---------------------------------------------------------------------------- -------------------------- To post to this group, send email to excel-macros@googlegroups.com -- FORUM RULES (925+ members already BANNED for violation) 1) Use concise, accurate thread titles. Poor thread titles, like Please Help, Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get quick attention or may not be answered. 2) Don't post a question in the thread of another member. 3) Don't post questions regarding breaking or bypassing any security measure. 4) Acknowledge the responses you receive, good or bad. 5) Cross-promotion of, or links to, forums competitive to this forum in signatures are prohibited. NOTE : Don't ever post personal or confidential data in a workbook. Forum owners and members are not responsible for any loss. ------------------------------------------------------------------------------------------------------ To post to this group, send email to excel-macros@googlegroups.com