ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Copy & paste to protected sheet (https://www.excelbanter.com/excel-discussion-misc-queries/235882-copy-paste-protected-sheet.html)

nc

Copy & paste to protected sheet
 
I am using the macro below, where would I insert the unprotect and protect
statement for the sheet "Transactions", the latter is protected.


sub CopyStatement()

Dim LastRow As Long


CopyStatementMsg = MsgBox("Are you sure you want to Copy Statement to
Transactions Sheet?", vbYesNo + vbDefaultButton2)

If CopyStatementMsg = vbNo Then End

Application.ScreenUpdating = False

ActiveSheet.Unprotect


ActiveSheet.UsedRange
LastRow = Cells.SpecialCells(xlLastCell).Row
LastRow = Cells(Cells.Rows.Count, "W").End(xlUp).Row
ActiveSheet.Range("$S$5:$W" & LastRow).Copy
Sheets("Transactions").Range("A13").PasteSpecial Paste:=xlValues
ActiveSheet.Protect

Sheets("Transactions").Activate
Range("F13").Select


Application.ScreenUpdating = True


End Sub

Shane Devenshire[_2_]

Copy & paste to protected sheet
 
Hi,

Avoid this issue by programatically protecting the worksheet and using the
ActiveSheet.Protect Password:="x", UserInterfaceOnly:=True

You can run this as a stand alone macro or you can incorporate this into a
Workbook_Open procedure.

--
If this helps, please click the Yes button.

Cheers,
Shane Devenshire


"nc" wrote:

I am using the macro below, where would I insert the unprotect and protect
statement for the sheet "Transactions", the latter is protected.


sub CopyStatement()

Dim LastRow As Long


CopyStatementMsg = MsgBox("Are you sure you want to Copy Statement to
Transactions Sheet?", vbYesNo + vbDefaultButton2)

If CopyStatementMsg = vbNo Then End

Application.ScreenUpdating = False

ActiveSheet.Unprotect


ActiveSheet.UsedRange
LastRow = Cells.SpecialCells(xlLastCell).Row
LastRow = Cells(Cells.Rows.Count, "W").End(xlUp).Row
ActiveSheet.Range("$S$5:$W" & LastRow).Copy
Sheets("Transactions").Range("A13").PasteSpecial Paste:=xlValues
ActiveSheet.Protect

Sheets("Transactions").Activate
Range("F13").Select


Application.ScreenUpdating = True


End Sub


nc

Copy & paste to protected sheet
 
Sorry, your answer was not helpful.

Basically I am just protecting the worksheets with formulas to avoid
accidentally deleting them.


"Shane Devenshire" wrote:

Hi,

Avoid this issue by programatically protecting the worksheet and using the
ActiveSheet.Protect Password:="x", UserInterfaceOnly:=True

You can run this as a stand alone macro or you can incorporate this into a
Workbook_Open procedure.

--
If this helps, please click the Yes button.

Cheers,
Shane Devenshire


"nc" wrote:

I am using the macro below, where would I insert the unprotect and protect
statement for the sheet "Transactions", the latter is protected.


sub CopyStatement()

Dim LastRow As Long


CopyStatementMsg = MsgBox("Are you sure you want to Copy Statement to
Transactions Sheet?", vbYesNo + vbDefaultButton2)

If CopyStatementMsg = vbNo Then End

Application.ScreenUpdating = False

ActiveSheet.Unprotect


ActiveSheet.UsedRange
LastRow = Cells.SpecialCells(xlLastCell).Row
LastRow = Cells(Cells.Rows.Count, "W").End(xlUp).Row
ActiveSheet.Range("$S$5:$W" & LastRow).Copy
Sheets("Transactions").Range("A13").PasteSpecial Paste:=xlValues
ActiveSheet.Protect

Sheets("Transactions").Activate
Range("F13").Select


Application.ScreenUpdating = True


End Sub


nc

Copy & paste to protected sheet
 
I used

Worksheets("Transactions").Unprotect

It worked.



"Shane Devenshire" wrote:

Hi,

Avoid this issue by programatically protecting the worksheet and using the
ActiveSheet.Protect Password:="x", UserInterfaceOnly:=True

You can run this as a stand alone macro or you can incorporate this into a
Workbook_Open procedure.

--
If this helps, please click the Yes button.

Cheers,
Shane Devenshire


"nc" wrote:

I am using the macro below, where would I insert the unprotect and protect
statement for the sheet "Transactions", the latter is protected.


sub CopyStatement()

Dim LastRow As Long


CopyStatementMsg = MsgBox("Are you sure you want to Copy Statement to
Transactions Sheet?", vbYesNo + vbDefaultButton2)

If CopyStatementMsg = vbNo Then End

Application.ScreenUpdating = False

ActiveSheet.Unprotect


ActiveSheet.UsedRange
LastRow = Cells.SpecialCells(xlLastCell).Row
LastRow = Cells(Cells.Rows.Count, "W").End(xlUp).Row
ActiveSheet.Range("$S$5:$W" & LastRow).Copy
Sheets("Transactions").Range("A13").PasteSpecial Paste:=xlValues
ActiveSheet.Protect

Sheets("Transactions").Activate
Range("F13").Select


Application.ScreenUpdating = True


End Sub



All times are GMT +1. The time now is 12:12 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com