Option Explicit
Sub Make_Value_Copy()
Dim ReadBook As Workbook
Dim WriteBook As Workbook
Dim ReadSheet As Worksheet
Dim WriteSheet As Worksheet
Dim NewSheetName As String
Dim SelectedSheet() As String
Dim SheetFound As Boolean
Set ReadBook = ActiveWorkbook
Dim i As Integer
i = 0
For Each ReadSheet In ActiveWindow.SelectedSheets
ReDim Preserve SelectedSheet(i)
SelectedSheet(i) = ReadSheet.Name
i = i + 1
Next ReadSheet
ActiveWorkbook.Sheets("Cover Sheet").Select
For i = 0 To UBound(SelectedSheet)
ReEnterName:
If WriteBook.Name = ReadBook.Name Then Set WriteBook = Application.Workbooks.Add
NewSheetName = InputBox("Enter the name of the sheet: [" & SelectedSheet(i) & "]", "Enter sheetname", SelectedSheet(i))
If NewSheetName = "" Then GoTo ReEnterName
Set WriteSheet = WriteBook.Sheets.Add
ReadBook.Activate
ActiveWorkbook.Worksheets(SelectedSheet(i)).Cells.Copy
WriteSheet.Cells.PasteSpecial xlPasteValues
WriteSheet.Cells.PasteSpecial xlPasteFormats
WriteSheet.Name = NewSheetName
Next i
Application.DisplayAlerts = False
For Each WriteSheet In WriteBook.Worksheets
SheetFound = False
i = 0
Do Until i = UBound(SelectedSheet) + 1
If StrComp(SelectedSheet(i), WriteSheet.Name) = 0 Then SheetFound = True
i = i + 1
Loop
If SheetFound = False Then WriteSheet.Delete
Next WriteSheet
Application.DisplayAlerts = True
End Sub