R
RiverGully
I am using the following code to find the content of a cell in another
visible worksheet. The problem is that the other worksheets are typically
protected. Accordingly, when it finds the content of the cell in another
worksheet that is protected it is unable to reposition the cursor to that
cell location (foundcell).
Debug: Application.Goto FoundCell
(note: code works perfectly if other worksheets are unprotected)
What is the additional code needed to unprotect the worksheet where cell
content is found, reposition cursor to the "FoundCell" and then reprotect
that worksheet?
Thank you!
Clive
Sub FindCellContent()
Dim Sh As Worksheet, foundCell As Range
'Search for CellContent in all Visible Worksheets
For Each Sh In ActiveWorkbook.Worksheets
If Sh.Visible = xlSheetVisible Then
'If you want to ignore the active sheet unmark the below line
'If ActiveSheet.Name <> Sh.Name Then
Set foundCell = Sh.Cells.Find(What:=ActiveCell, _
After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext)
If Not foundCell Is Nothing Then
If foundCell.Address(External:=True) <> _
ActiveCell.Address(External:=True) Then _
Application.Goto foundCell: Exit For
End If
'/If you want to ignore the active sheet
'End If
End If
Next
If foundCell Is Nothing Then _
MsgBox ActiveCell & " not found in this workbook"
End Sub
visible worksheet. The problem is that the other worksheets are typically
protected. Accordingly, when it finds the content of the cell in another
worksheet that is protected it is unable to reposition the cursor to that
cell location (foundcell).
Debug: Application.Goto FoundCell
(note: code works perfectly if other worksheets are unprotected)
What is the additional code needed to unprotect the worksheet where cell
content is found, reposition cursor to the "FoundCell" and then reprotect
that worksheet?
Thank you!
Clive
Sub FindCellContent()
Dim Sh As Worksheet, foundCell As Range
'Search for CellContent in all Visible Worksheets
For Each Sh In ActiveWorkbook.Worksheets
If Sh.Visible = xlSheetVisible Then
'If you want to ignore the active sheet unmark the below line
'If ActiveSheet.Name <> Sh.Name Then
Set foundCell = Sh.Cells.Find(What:=ActiveCell, _
After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext)
If Not foundCell Is Nothing Then
If foundCell.Address(External:=True) <> _
ActiveCell.Address(External:=True) Then _
Application.Goto foundCell: Exit For
End If
'/If you want to ignore the active sheet
'End If
End If
Next
If foundCell Is Nothing Then _
MsgBox ActiveCell & " not found in this workbook"
End Sub