Ok, I have two sets of code, the second set of the code below to hide and unhide cells based on another selection works perfectly. I also need to then protect the form as a whole and only unprotect cells once another has data in them (this remains unlocked).
However the code to unlock, appears not to unlock any of the cells - so in effect it isn't doing what I need it to. I am a relative novice here and get my code and idea's from these forums, and other internet sites, and over time have amended them to suit my own needs.
Drawn a blank on this one through and need some help if possible.
here is my code - the first part is the bit which doesn't unlock the cell range I have entered.
Private Sub Worksheet_Change(ByVal Target As Range)
' section one unlocks the range of cells A6:D115 when D5 changes from empty to not empty, and then allows a user to enter data into the range of cells in not empty case condition below
If Target.Address(False, False) = "D5" Then
Select Case Target.Value
Case Is = "": Range("A6:D115").Locked = True
Case Is <> "": Range("C6:D6,A16:D16,C19:D22,D25:D25,D41:D57,B58:D58,C63:D63,C65:D73,C75:D78,C80:D84,D88:D88,A93:D98,D101:D103,B113:B114,D113:D113").Locked = False
End Select
End If
' section two hides and unhides a series of cells based on the D25 selection
If Target.Address(False, False) = "D25" Then
Select Case Target.Value
Case "Select as appropriate": Range("40:85").EntireRow.Hidden = False
Case "USA - Breen Road": Range("40:85").EntireRow.Hidden = False
Range("45:45,47:47,53:57,77:78").EntireRow.Hidden = True
Case "USA - Conroe": Range("40:85").EntireRow.Hidden = False
Range("40:52,77:78,80:80,85:85").EntireRow.Hidden = True
Case "USA - Lafayette": Range("40:85").EntireRow.Hidden = False
Range("43:43,45:47,49:49,53:57,61:83").EntireRow.Hidden = True
Case "Europe - Aberdeen": Range("40:85").EntireRow.Hidden = False
Range("40:49,53:57,77:78,80:80").EntireRow.Hidden = True
Case "Europe - Gateshead": Range("40:85").EntireRow.Hidden = False
Range("53:57").EntireRow.Hidden = True
Case "Middle East - Dubai": Range("40:85").EntireRow.Hidden = False
Range("43:43,46:47,50:57").EntireRow.Hidden = True
Case "Middle East - Saudi Arabia": Range("40:85").EntireRow.Hidden = False
Range("43:43,45:47,50:53").EntireRow.Hidden = True
Case "Middle East - All": Range("40:85").EntireRow.Hidden = False
Range("43:43,46:47,50:57").EntireRow.Hidden = True
Case "Far East - Singapore - Loyang": Range("40:85").EntireRow.Hidden = False
Range("41:41,44:57,77:78,80:80").EntireRow.Hidden = True
Case "Far East - Singapore - Tuas": Range("40:85").EntireRow.Hidden = False
Range("40:49,53:57,77:78,80:82").EntireRow.Hidden = True
Case "Far East - Singapore - All": Range("40:85").EntireRow.Hidden = False
Range("41:41,44:49,53:57,77:78,80:80").EntireRow.Hidden = True
Case "Far East - Perth - Australia": Range("40:85").EntireRow.Hidden = False
Range("41:57,63:63,67:67,72:72,74:83").EntireRow.Hidden = True
End Select
End If
End Sub
Hopefully someone with a bit more knowledge than I have can help.