oldval="RGB(0,0,0,255,255,255)" lcStr = STREXTRACT(oldval, "(", ")") lnPos = AT(",", lcStr,3) ? "RGB(" + SUBSTR(lcStr, lnPos + 1) + "," + LEFT(lcStr, lnPos-1) + ")">If I was an Ostrich, I'd stick my head in the sand right about now! :o) You are the first one to catch the obvious. I shouldn't be reversing the order at all, but switching the pairs as your example clearly does quite well. What was I thinking? (I obviously wasn't!) Thanks Steve!