Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/03/2006, 06:33
Avatar de 3pies
3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 5 meses
Puntos: 144
Mira mi respuesta anterior, ...la edité justo antes de que pusieras tu último post.

Editado:

Leyendo tu pregunta, ...hay un aspecto, un poco complicado (o al menos, a mí me lo parecía), y es definir en lugar de una sola celda, un rango, para que si se modifica alguna celda del mismo, se ejecute la macro. Después de buscar en la red, y probar varias cosillas, al final he dado con esto (supongo que tienes delante el Ejemplo-1.xls que he colgado en el post anterior):

En el proyecto VBA, Hoja1, pone:
Código:
Sub Worksheet_Change(ByVal Target As Range)
'Miramos si el rango B5, cambia, para llamar al macro "Copiar"
If Target.Row = 5 And Target.Column = 2 Then
    Call Copiar
End If
End Sub
De esa forma, si alguien modifica la celda B5 (fila=5, columna=2), se llama a la macro "Copiar".
En tu caso, quieres que si se modifica una celda del rango comprendido entre B16 e I16, haga lo mismo. En ese caso, cambia lo anterior, por esto otro:
Código:
Sub Worksheet_Change(ByVal Target As Range)
'Miramos si el rango d B6 a I16, cambia, para llamar al macro "Copiar"
'(esto no es mío, ya que lo he sacado después de escarbar un poco en la red):
If Not Intersect(Target, Range("B16:I16")) Is Nothing Then
    Call Copiar
End If
End Sub
Salu2

Última edición por 3pies; 21/03/2006 a las 08:59