Prevent Coloumn & Row Deletion / Insertion
Mike,
Excellent, works perfectly, many thanks, but how do I gain access to delete
/ add...its probably blindingly obvious, sorry if daft question
Craig
"Mike H" wrote:
Craig,
Modified to work for rows and columns on all sheeets
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Msg As String
Msg = "Deleting Rows/Columns Not Permitted"
If Target.Address = Target.EntireRow.Address Or _
Target.Address = Target.EntireColumn.Address Then
With Application
.EnableEvents = False
.Undo
Msg = MsgBox(Msg, 16, "WARNING")
.EnableEvents = True
End With
Else
Exit Sub
End If
End Sub
--
Mike
When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.
"Craig" wrote:
Hi,
Is there a code to prevent users from deleting rows or columns in all the
sheets within a workbook, but allowing an authorised user (me), to input a
password to then carryout deletion / insertion.
I have a number of users who have access to the password to unprotect the
sheet for editing....the vba password is known only to two of us and i want
to stop my colleagues from 'accidentally' changing things without my being
asked.
I have used a variation of this so far (thanks to John for the post) but
need to expand as stated above:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "Sheet2" Then
If Target.Address = Target.EntireRow.Address Then
With Application
.EnableEvents = False
.Undo
msg = MsgBox("Deleting Rows Not Permitted", 16, "WARNING")
.EnableEvents = True
End With
Else
Exit Sub
End If
End If
End Sub
|