View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming,microsoft.public.excel
Gary Keramidas Gary Keramidas is offline
external usenet poster
 
Posts: 2,494
Default using VBA on protected sheets, is it possible?

just surround your code with unprotect/protect code

With Worksheets("sheet1")
.Unprotect
'insert your row code here
.Protect
End With


--


Gary


"mantrid" wrote in message
...
Thanks Norman
I did as you suggested. But it didnt work.
The code I use to copy and past a row is on a button's click event on a user
form. Its when this button is clicked I wish to override the protection so
the row can be inserted. The rest of the time I wish the sheets to be
protected.

Ian


"Norman Jones" wrote in message
...
Hi Ian,

Setting the Protect method's UserInterfaceOnly
parameter to true enables vba manipulation of the
protected sheet.

However, this setting is not persistent and needs to
be reset each time the workbook is opened.

Perhaps, therefore, you could set protection in the
Workbook_Open or Auto_Open procedures, e.g.:

'=============
Private Sub Workbook_Open()
With Me.Worksheets("Sheet1")
.Protect Password:="drowssap", _
UserInterfaceOnly:=True
End With
End Sub
'<<=============

This is workbook event code and should be pasted
into the workbook's ThisWorkbook module *not* a
standard module or a sheet module:

Right-click the Excel icon on the worksheet (or the icon
to the left of the File menu if your workbook is maximised)
Select 'View Code' from the menu and paste the code.
Alt-F11 to return to Excel.


---
Regards,
Norman


"mantrid" wrote in message
...
Hello
I am having problems using the VB code below (which basically copies and
inserts a row) to work on a protected sheet, despite the protection

being
set to allow insertion of rows. It works fine when sheet is unprotected.
Is
there a way around this

With ActiveSheet
.Rows(rowno - 1).Copy
.Rows(rowno - 1).Insert (xlShiftDown)
.Paste Destination:=ActiveSheet.Rows(rowno)
End With

Thanks
Ian