Am greedy too, and curious yet more, so went and looked
This syntax thing is too touchy really: It was just the blank after the last | in the "or" line! Crazy...
You're working very hard at this, thank you James
Have too little time currently and am working on a new macro, so am a bit blocked for other stuff at the moment. Hope to get a closer look awhile later...
PS: Noticed that if one of the arguments for "and/or" is not a variable, but some action like "index(...)", then additional brackets () are needed around both arguments left and right, even if the other one is just a variable.
And some day I'll manage to try your recent macro and check if it makes any difference to disable the rebuildmenu-lines, which I strongly doubt ;-)