This assumes you have a workbook with 5 sheets:-
1 - 'Index'
2 - 'Sht 1'
3 - 'Sht 2'
4 - 'Sht 3'
5 - 'Sht 4'
Whilst in the VBE (ALT+F11), put the following code into the 'ThisWorkbook' module:-
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'
For i = 2 To Worksheets.Count
If Sheets(i).Visible = True Then
Sheets(i).Visible = xlVeryHidden
End If
Next i
Application.DisplayAlerts = False
ActiveWorkbook.Save
End Sub
This will automatically hide all sheets except the index sheet when the file is closed.
Now in a normal module put the following:-
Private Sub Pword()
Dim ans As String
ans = InputBox("Password Please"
Select Case ans
Case Is = "pword1"
Sheets(2).Visible = True
Case Is = "pword2"
Sheets(3).Visible = True
Case Is = "pword4"
Sheets(4).Visible = True
Case Is = "pword4"
Sheets(4).Visible = True
Case Else
MsgBox ("You are not authorised to view this file - Goodbye"

Application.DisplayAlerts = False
Application.Quit
End Select
End Sub
Then put a button from the forms toolbar onto the index sheet and assign a macro with the following name:-
'Pword test.xls'!Pword
Finally you need to protect the VBA code so no-one can see it. Hit ALT+F11 - take a look at the top left of your screen, and hopefully you will see a window entitled VBA Project Explorer. In this window there will be a list of filenames, just like the folder names in an Explorer window. Find the name of your file in that window and right click on your workbook name and then from the menu that pops up, select VBAProject properties. This will then give you a grey dialog box with two tabs. Click on the Protection Tab, put a tick in the 'Lock Project for viewing' option, put in a password and confirm it below, then hit OK. Do File / Save Workbookname, File Close and return to Excel, then close file and reopen.
You should now not be able to get to the VBAProject Code if you go into the VBE.
Regards
Ken.................