ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   running code after pasting data (https://www.excelbanter.com/excel-programming/326235-running-code-after-pasting-data.html)

lallen

running code after pasting data
 
I have a worksheet into which I paste a block of data. After pasting, I run
some VB code to do some editing, using the worksheet_change event. This
causes the code to run every time I make a change to the sheet, instead of
only when I do the paste.

I tried adding

If target.address = "$A$2" then

to the beginning of the procedure, but this causes the code to run only if I
paste a single value into cell A2, but not when I paste a block of data into
cells beginning with A2.

How can I make the code run only when I paste the block of data, and not on
every update to the worksheet?

Any suggestions would be greatly appreciated.

Tim Zych[_9_]

running code after pasting data
 
If Not Application.Intersect(Target, Target.Parent.Range("A2")) Is Nothing
Then

will execute if A2 is included as part of any range size.
Not sure how to selectively run it based on pasting, etc. It it changes, it
will run.


"lallen" wrote in message
...
I have a worksheet into which I paste a block of data. After pasting, I

run
some VB code to do some editing, using the worksheet_change event. This
causes the code to run every time I make a change to the sheet, instead of
only when I do the paste.

I tried adding

If target.address = "$A$2" then

to the beginning of the procedure, but this causes the code to run only if

I
paste a single value into cell A2, but not when I paste a block of data

into
cells beginning with A2.

How can I make the code run only when I paste the block of data, and not

on
every update to the worksheet?

Any suggestions would be greatly appreciated.




lallen

running code after pasting data
 
I couldn't get this to work. The code ran, regardless of what cell was
updated. But, with a fresh mind this morning, I did come up with the
following solution.

If InStr(target.Address, "$A$2") 0 Then

Thanks for your help.

"Tim Zych" wrote:

If Not Application.Intersect(Target, Target.Parent.Range("A2")) Is Nothing
Then

will execute if A2 is included as part of any range size.
Not sure how to selectively run it based on pasting, etc. It it changes, it
will run.


"lallen" wrote in message
...
I have a worksheet into which I paste a block of data. After pasting, I

run
some VB code to do some editing, using the worksheet_change event. This
causes the code to run every time I make a change to the sheet, instead of
only when I do the paste.

I tried adding

If target.address = "$A$2" then

to the beginning of the procedure, but this causes the code to run only if

I
paste a single value into cell A2, but not when I paste a block of data

into
cells beginning with A2.

How can I make the code run only when I paste the block of data, and not

on
every update to the worksheet?

Any suggestions would be greatly appreciated.






All times are GMT +1. The time now is 04:27 AM.

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