you type procedure in "change" event so when You type something procedure starting because its value is change.
Then in procedure in IF's you change value of TextBox so it is change again and again

try to use other event (maybe "AfterUpdate") or change your idea for prevent starting change sub all the time when any value will be typed