How to catch copy / paste event


New Member
Aug 16, 2012
First of all I want to thank you guys for this forum. Helped me to many times!

But now I'm pretty stuck on one problem.

My workbook use protection. Special cells are locked if not empty. I use WorkSheet_Change(), when some cell is changed, every locked cell will be protected and need to unprotect worksheet if I want to change locked cells.
This works like a charm, buuuut...

If I copy any row, and then paste it somewhere it will do (if the worksheet is unprotected).
But apparently WorkSheet_Change() doesn't think paste is any change, and the worksheet is unprotected.

It would be great if there is some event handler to catch paste event (then I could just simply lock the worksheet), but I haven't find any.

Any advice?

Thanks alot guys for everything!

Some videos you may like

Excel Facts

What does custom number format of ;;; mean?
Three semi-colons will hide the value in the cell. Although most people use white font instead.

Watch MrExcel Video

Forum statistics

Latest member

This Week's Hot Topics

  • Timer in VBA - Stop, Start, Pause and Reset
    [CODE=vba][/CODE] Option Explicit Dim CmdStop As Boolean Dim Paused As Boolean Dim Start Dim TimerValue As Date Dim pausedTime As Date Sub...
  • how to updates multiple rows in muliselect listbox
    Hello everyone. I need help with below code. code is only chaning 1st row in mulitiselect list box. i know issue with code...
  • Delete Row from Table
    I am trying to delete a row from a table using VBA using a named range to find what I need to delete. My Range is finding the right cell. In the...
  • Assigning to a variable
    I have a for each block where I want to assign the value in column 5 of the found row to the variable Serv. [CODE=vba] For Each ws In...
  • Way to verify information
    Hi All, I don't know what to call this formula, and therefore can't search. I have a spreadsheet with information I want to reference...
  • Active Cell Address – Inactive Sheet
    How to use VBA to get the cell address of the active cell in an inactive worksheet and then place that cell address in a location on the current...