I'd recommend changing the one line in kchiba code from:
ActiveSheet.Name = Target.Value
to:
Me.Name = Target.Value
Why? Me is generally a safer object to use, as it clearly defines what sheet you want to change (the one with code in it). If you select multiple sheets (and let's say they all have this change event), ActiveSheet would refer to the single sheet that's active, and only 1 sheet name would be changed, while the Me would allow the code to affect each sheet name.
Finally, do note that some symbols aren't allowed in sheet names, as well as the name "History", so you might actually want an error avoidance like:
On Error Resume Next
Me.Name = Target.Value
On Error Goto 0