sábado, 15 de octubre de 2011

Eventos en VBA en Excel | Ejecutar macro cada vez que una celda es modificada



Eventos en VBA en Excel

En Microsoft Excel los eventos en VBA nos ayudan a monitorear las acciones que realiza un usuario en Excel al momento de hacer una acción, como por ejemplo cuando activa una hoja o hacer clic en alguna celda. Hay un evento llamado Worksheet_Change que se activa cuando se introduce un valor en determinada celda o celdas. Uno de los argumentos de este evento es "objetivo" que es una referencia a lo que ha cambiado. Ya que este evento tendrá lugar cada vez que cambia el valor en la celda.
Para lograr lo indicado utilizaremos el siguiente código, previo a realizar los pasos siguientes:
- Clic derecho sobre la pestaña de la hoja donde deseamos pegar el código.
- Clic en "Ver Código"
-Se abrirá la ventana de VBA, seleccionamos "La Ventana de Código"
- Copiamos el código de abajo y pegamos.


Evento,Worksheet_Change, VBA Excel


Private Sub Worksheet_Change(ByVal Target As Range)
 'Al escribir en la celda C5
 If Intersect(Target, Range("C5")) Is Nothing Then
  Exit Sub
 Else
'Para nuestro ejemplo se corre 4 columnas a la derecha..
    ActiveCell.Offset(0, 4).Select
 End If
End Sub

Cuando escribimos en la celda "C5", se corre 4 columnas a la derecha al pulsar "ENTER". Otro ejemplo podría ser que sea toda la columna "C", en ese caso cambiamos Range("C:C"), con esto lo solucionamos.



No hay comentarios :

Publicar un comentario