Excel VB Code Adjust for Worksheet Protect


Please review the code in the attached spreadsheet.  I am not experienced in VB code and hoping someone can assist.  When this code runs it creates new workbooks based on data in column C.  Each new workbook is password protected and the worksheets are also protected.  I need the code to be updated so for each new workbook the individual worksheets are locked but with no password on the sheet so the end-user can easily unlock for editing.  

Greatly appreciate any assistance.
EscanabaManager - HR AnalyticsAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

ProfessorJimJamMicrosoft Excel ExpertCommented:
try this, see attached

Sub CreateNewWorkbooks()
Dim swb As Workbook, wb As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet
Dim lr As Long, i As Long
Dim FilePath As String, FileName As String
Dim x, dict, it

Application.ScreenUpdating = False
Application.DisplayAlerts = False

Set swb = ThisWorkbook
Set ws1 = swb.Sheets("Planning Worksheet")
Set ws2 = swb.Sheets("Instructions")
Set ws3 = swb.Sheets("2017 Band")

FilePath = "S:"

ws1.AutoFilterMode = False
lr = ws1.Cells(Rows.Count, 3).End(xlUp).Row

x = ws1.Range("C14:C" & lr)
Set dict = CreateObject("Scripting.Dictionary")

For i = 1 To UBound(x, 1)
    dict.Item(x(i, 1)) = ""
Next i

For Each it In dict.keys
    FileName = it & ".xlsx"
    With ws1.Rows(13)
        .AutoFilter field:=3, Criteria1:=it
        Set wb = Workbooks.Add
        ws1.Range("A1:AN" & lr).SpecialCells(xlCellTypeVisible).Copy wb.Sheets(1).Range("A1")
        wb.Sheets(1).Name = ws1.Name
         With wb.Sheets(1)
            .UsedRange.ColumnWidth = 15
            .Cells.Locked = False
            Selection.Locked = True
            .Range("B:C,F:I,O:P,T:V,X:X,AE:AE,AJ:AK").EntireColumn.Hidden = True
        End With
        ws2.Copy after:=wb.Sheets(Sheets.Count)
        ws3.Copy after:=wb.Sheets(Sheets.Count)
            Sheets("Planning Worksheet").Select
        Application.DisplayAlerts = False
        wb.Protect Structure:=True, Windows:=False, Password:=""
        wb.Sheets(1).Protect "", True, True
        wb.SaveAs FilePath & FileName, FileFormat:=51, ReadOnlyRecommended:=False, CreateBackup:=False
        Application.DisplayAlerts = True
        Set wb = Nothing
        Application.CutCopyMode = 0
    End With
Next it
ws1.AutoFilterMode = False
Application.ScreenUpdating = True
Application.CutCopyMode = 0
MsgBox dict.Count & " Workbooks have been created and saved in the folder " & FilePath & "!", vbInformation
End Sub

Open in new window

EscanabaManager - HR AnalyticsAuthor Commented:
We're close.  I still need the original workbook locked with the password prompt but each individual worksheet would be locked with no password.  So the worksheet part is working based on your change but I've lost the workbook lock and prompt.
ProfessorJimJamMicrosoft Excel ExpertCommented:
do you mean , the password to open the workbook?
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

ProfessorJimJamMicrosoft Excel ExpertCommented:
ok then , please find attached.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
EscanabaManager - HR AnalyticsAuthor Commented:
Sorry - that was confusing.  The workbooks should be locked with the password prompt as it shows in the sample file but I need each individual sheet locked with no password.  This would allow the end-user to go to the 'Review' tab on ribbon and unprotect if necessary.
EscanabaManager - HR AnalyticsAuthor Commented:
Just needed to remove the password prompt for sheet but after that it works like a charm.  Thanks for the assist!
ProfessorJimJamMicrosoft Excel ExpertCommented:
You're welcome I'm glad I was able to help
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
VB Script

From novice to tech pro — start learning today.