Below is some code that I placed in the TextBox2 "LostFocus" event. It will only execute the macro once you leave or de-select the text box.
If TextBox2.Value <> "" Then
For Each c In Worksheets("Sheet1").Range("D2:D100")
If c <> "" Then
CountRow = c.Row
c = c * (1 + (TextBox2.Value / 100))
Worksheets("Sheet1").Cells(CountRow, 4).Value = c
This will mark-up the values in column D. If you want to retain the original values and show the marked-up value in the adjacent column, you should change (CountRow,4) to (CountRow,5) in the above code.
Let me know if this works for you. It worked great in my test sheet.