for loop with If then question
This code will loop through all your worksheets. I assume the data you are
trying to find is in Col. A. With each worksheet it will unlock all cells
then lock the row that contains the value you specify. You will have to
change your password and data value in this code to fit your application.
Hope this helps! If so, let me know, click "YES" below.
Sub LockRows()
Dim wks As Worksheet
Dim LastRow As Long
Dim rw As Long
For Each wks In Worksheets
With wks
.Unprotect Password:="Your Password Here"
.Cells.Locked = False
LastRow = .Cells(Rows.Count, "A").End(xlUp).Row
For rw = 2 To LastRow
If .Cells(rw, "A").Value = "Your Data" Then
.Rows(rw).Locked = True
End If
Next rw
.Protect Password:="Your Password Here"
End With
Next wks
End Sub
--
Cheers,
Ryan
"Steve" wrote:
Morning all.
I'm looking to set up an automatic password sheet protection tool and there
are only specific elements that I need protected on the worksheets in my
workbooks.
As such, my goal is to look for a value, in a single column, and if the
value exists in one cell, protect that row. All other rows will remain
unprotected.
As I think about this, it seems to me that I'd need a for loop to iterate
through the rows of that one column, and then use an IF statement to look for
a value.
Part of my struggle is that not all worksheets start at the same start row.
Nor do all worksheets end at the same row. Therefore, I need a variable to
delineate my start and end points. I've already learned that LastUsedRow does
not work well enough to use for this.
E.g.
for i = firstusedrow to lastusedrow step 1
if .cell() < "" OR " " then
Activesheet.protect.........
Your helps are appreciated.
|