VB Code:
Sub CopySheet()
Dim MySheet As Worksheet
Dim SheetName As String
'Get The new sheet name from the user
Do While SheetName = ""
SheetName = InputBox("Please Enter New Sheet Name", "New Sheet")
Loop
With ThisWorkbook
'Copy the master sheet to the end of the workbook
.Worksheets("Master").Copy After:=.Worksheets(.Worksheets.Count)
'Rename the last sheet in the workbook
.Worksheets(.Worksheets.Count).Name = SheetName
'Make the new sheet visible
.Worksheets(.Worksheets.Count).Visible = True
End With
End Sub