This can not work.
Here's an example of lerp: lerp (10, 20, 0.5) = 15, so 50% between 10 and 20. The last value in the lerp function must be between 0 and 1 (0% -100%).
When you use "Player.X + 32", you run after yourself, because if the player moves 10 pixels, the second value increases by 10 too.
You would have to set a target value beforehand: lerp (Player.X, DestinationX, var). The last variable would then have to increment „slowly“ from 0 to 1 to move OVER TIME from Point A to Point B.
But your event runs only one tick when you use on press the button or he moves infinitely when you hold down the button.
That is so complicated and inaccurate. I do not know if anyone has a better idea to use lerp right here, but I recommend you just try the code from my screenshot or get it here for C3:
https://1drv.ms/u/s!Ap_-qxoGKbDcg0v3iWcZn69XQycl