Select unlocked cells in a protected sheet.

Pittsy

New Member
Joined
Sep 15, 2016
Messages
25
Me again.

A slightly more challenging one this time.

I have a worksheet with multiple formula some on hidden rows, all nicely laid out and formatted to make an easy to use standard report. I have the sheet protected from accidental editing by well meaning colleagues. All good!

I want to insert a clear all button so that a user can get a clear form easily (there is no need to keep a filled copy).
I have entered VBA code to select all unlocked cells and then clear contents.

My issue comes when I protect the sheet I get an error message saying Can't do this to a protected sheet.
Why if all the cells selected are unlocked??

What am I missing??

Regards
Pittsy
 
Last edited:

ParamRay

Well-known Member
Joined
Aug 6, 2014
Messages
1,195
Assuming your code selects the unlocked cells before clearing them (as you described), did you check the box that allows users to select unlocked cells when you protected the worksheet?

Here's the code that worked for me:

Code:
Public Sub ClearUnlockedCells()
  Dim UnlockedCells As Range
  Dim Cell As Range
  
  On Error GoTo ErrHandler
  If Not TypeOf ActiveSheet Is Worksheet Then
    MsgBox "You must activate a worksheet first.", vbExclamation
    GoTo ExitProc
  End If
  
  For Each Cell In ActiveSheet.UsedRange
    If Not Cell.Locked Then
      If UnlockedCells Is Nothing Then
        Set UnlockedCells = Cell
      Else
        Set UnlockedCells = Union(UnlockedCells, Cell)
      End If
    End If
  Next Cell
  
  If UnlockedCells Is Nothing Then
    MsgBox "No unlocked cells were found.", vbExclamation
  Else
    UnlockedCells.ClearContents
  End If
  
ExitProc:
  On Error Resume Next
  Set UnlockedCells = Nothing
  Set Cell = Nothing
  Exit Sub
  
ErrHandler:
  MsgBox Err.Description, vbCritical
  Resume ExitProc
End Sub
 
Last edited:

Forum statistics

Threads
1,081,969
Messages
5,362,477
Members
400,676
Latest member
BiochemBoi95

Some videos you may like

This Week's Hot Topics

  • populate from drop list with multiple tables
    Hi All, i have a drop list that displays data, what i want is when i select one of those from the list to populate text from different tables on...
  • Find list of words from sheet2 in sheet1 before a comma and extract text vba
    Hi Friends, Trying to find the solution on my task. But did not find suitable one to the need. Here is my query and sample file with details...
  • Dynamic Formula entry - VBA code sought
    Hello, really hope one of you experts can help with this - i've spent hours on this and getting no-where. .I have a set of data (more rows than...
  • Listbox Header
    Have a named range called "AccidentsHeader" Within my code I have: [CODE]Private Sub CommandButton1_Click() ListBox1.RowSource =...
  • Complex Heat Map using conditional formatting
    Good day excel world. I have a concern. Below link have a list of countries that carries each country unique data. [URL...
  • Conditional formatting
    Hi good morning, hope you can help me please, I have cells P4:P54 and if this cell is equal to 1 then i want row O to say "Fully Utilised" and to...
Top