Got it. The code needs to re-assign the Future variable f_Area to ta_Area.GetVal, each time the textarea changes content, before getting its value.
The confusion comes from the original Dim
Dim f_Area As Future = ta_Area.GetVal
I prefer to make only empty default assignments or just e.g. ,
Dim f_Area As Future
during a Dim, and make the actual assignments separately in the code. That's clear enough.
But I had cloned the Dim from another poster, and just forget about re-assigning the variable.
Long story short - my mistake, thanks for taking a look.