You can modify the tween's .to value. When you do a TweenPosition.Begin(go, duration, newPosition), its '.from' value is the GameObject's current location and its '.to' value it the 'NewPosition' (it's all based off of its .localPosition, not world .position).
If you know the new location (basically, its .to position plus any new movement distance you add to it), I would just update the '.to' value:
Vector3 currentPosition = myPositionTween.to;
Vector3 deltaPosition
= new Vector3
(0f,
0, 100f
); // Or whatever movement distance you wantVector3 updatedPosition = currentPosition + deltaPosition;
myPositionTween.to = updatedPosition;
This will 'tack on' 100 pixels (along z) to the current position tween.
So if you have a counter that should fill to '100' and the player hits their button twice really quick, it will start to lerp to '200' and then just continue (without stuttering or restarting) straight to '300'.
Is that what you're looking for?