Hello Ben,
This macro will create a new new workbook with a copy of "Front Sheet" in it. All cells that have formulas will be cleared, and replaced with their values. The user can select the directory and file name using the "SaveAs" dialog. There are 2 passwords for this file. The file password is used to write protect the workbook. The user will be prompted for this password when the workbook opens. If no password is entered then the workbook is opened as read only. The second password is to protect the sheet. These are set to empty strings in the code and are marked in red in the code. Change these to what ever you want.
Sub CreateNewFile()
Dim FilePW As String
Dim NewFileName As String
Dim NewWkb As Workbook
Dim OrgWkb As Workbook
Dim OrgWks As Worksheet
Dim SheetPW As String
Dim V As Variant
FilePW = "" 'Put the password you want to use inside the quotes
SheetPW = "" 'Put the password you want to use inside the quotes
Set OrgWkb = ThisWorkbook
Set OrgWks = OrgWkb.Worksheets("Front Sheet")
'Display the SaveAs dialog
NewFileName = Application.GetSaveAsFilename(OrgWks.Name & ".xls")
If NewFileName = "False" Then Exit Sub
'Create a new workbook with a copy of the original worksheet
OrgWks.Copy
Set NewWkb = ActiveWorkbook
'Clear each formula and replace it with its value
For Each Cell In NewWkb.ActiveSheet.UsedRange
If Cell.HasFormula = True Then
V = Cell.Value
Cell.ClearContents
Cell.Value = V
End If
Next Cell
'Lock all the cells, protect the worksheet, workbook and save
With NewWkb
.Cells.Locked = True
.Password = SheetPW
.SaveAs NewFileName, , FilePW, True
End With
End Sub
Adding the Macro
1. Copy the macro above pressing the keys CTRL+C
2. Open your workbook
3. Press the keys ALT+F11 to open the Visual Basic Editor
4. Press the keys ALT+I to activate the Insert menu
5. Press M to insert a Standard Module
6. Paste the code by pressing the keys CTRL+V
7. Make any custom changes to the macro if needed at this time.
8. Save the Macro by pressing the keys CTRL+S
9. Press the keys ALT+Q to exit the Editor, and return to Excel.
To Run the Macro...
To run the macro from Excel, open the workbook, and press ALT+F8 to display the Run Macro Dialog. Double Click the macro's name to Run it.
Sincerely,
Leith Ross
Bookmarks