I spent a time in understanding your code. And, now, I understand it.
And, the actual numerator and the actual denominator are different from those seen in screen, multiplied by , in my case, Omega, and sometimes multiplied by (-1), so that in that case the signs of the denominater and the numelator have changed.
And, the order of terms in the same expression differs at each time restart is executed and
the calculation begins from the top of the worksheet.
Your code is about the way to deal without these complexities.
Extracting contents of an expression as you do in your code
is very useful information to me.
I surely understand your code. But, what I think I had understood haven't
fallen into my mind,yet. So, there might be the case that I have to ask to you
about your code. In that case, I will be very glad if you rely to my then question.