Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/02/2011, 17:08
Avatar de mrocf
mrocf
 
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
De acuerdo vba: macro que se ejecute al pegar

Hola! negu.
En realidad estás utilizando mal el evento Change.

¿Por qué? Pues, de hecho, Target contiene a todas las celdas involucradas en el cambio.

Te muestro un ejemplo sencillo:
Código vb:
Ver original
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. Dim C As Range, myTxt As String
  3. For Each C In Target
  4.   myTxt = myTxt & vbLf & C.Address
  5. Next C
  6. MsgBox myTxt
  7. End Sub
¿Qué hace este código?... "Arma" un texto que contiene las celdas involucradas en el cambio (prueba pegar 3, 4 ó más celdas simultáneamente) y muestra el mensaje mediante un msgbox.

¿Qué es lo que te estaba faltando considerar? El "For Each C in Target".

Para tu necesidad particular, tan solo reemplazas el
myTxt = myTxt & vbLf & C.Address

por tu código.

Saludos, Cacho.

Última edición por mrocf; 01/02/2011 a las 17:14