Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/02/2011, 03:57
negu
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 15 años
Puntos: 0
vba: macro que se ejecute al pegar

Hola,

estoy trabajando con un archivo excel, en el que debo hacer unas comprobaciones en cuanto se pegue un grupo de valores en en un conjunto de celdas en concreto.

Así pués, mi intención es encontrar una manera que cuando se pegue algun valor en la hoja concreta y que corresponde a ese rango de celdas, se ejecute una macro. Hay alguna manera o algun evento que se active cuando se pega algo en una hoja de excel?

Empecé haciéndolo en el evento Worksheet_Change, teniendo encuenta si se modificaba alguna celda de las que debo controlar, pero si pego un rango de valores, sólo me saltaba el evento para la primera celda de las que pegaba.

Por ejemplo, si pego de "B4" a K9 se ejecutaba:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("B4", "K9")) Is Nothing Then
// Código que quiero que salte para cada una de las celdas pegadas


Pero sólo se ejecutaba este código para B4 y necesitaría que se ejecutara para cada celda pegada. Como que no siempre serán las mismas celdas las que se peguen, no debería modificar siempre todo el rango ya que hace la macro demasiado lenta.

Muchas gracias.