Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Ofimática (http://www.forosdelweb.com/f90/)
-   -   Eventos (http://www.forosdelweb.com/f90/eventos-357978/)

davidtorrejon 17/12/2005 03:06

Eventos
 
Saludos a tod@s. En referencia a mi pregunta de "mensaje", he decidido usar las macros (se programar en Visualbasic.net y el VB de Excel es mas o menos igual ), ademas estos dias he estado mirando informacion sobre ellas. Mi problema ahora es que quiero que cuando se escriba algo en algunas celdas, dependiendo de las celdas que se rellenan salga un mensaje con cierta informacion. Lo que no se es ¿que evento hay que usar para que esas casillas esten rellenas la macro se ejecute?, ¿alguien conoce alguna forma de hacerlo?. Gracias otra vez, Chao

potypoty 17/12/2005 05:05

aclaracion
 
No entiendo muy bien lo que quieres hacer, pero según creo tu intención es que cuando se produzca un cambio en algunas celdas, se ejecute una macro que te muestre alguna información,NO?

En la parte izquierda de la pantalla de código de VB tienes todas las hojas que has creado. Al final existe una denominada "This workbook". Entra en ella y en la parte de los objetos (encima del código, menú desplegable que pone (general)) selecciona "workbook". En el otro menú tienes los eventos para ese objeto. Creo que para lo que tú quieres te valdría el de change, que realiza el código que le metas siempre que haya un cambio en la hoja activa.

Existen muchos eventos según lo que quieras hacer. Si ese no te sirve haz pruebas con los otros.

Espero que te sirva, aunque sea de orientación para tu aplicación.

davidtorrejon 19/12/2005 06:52

SheetChange
 
Gracias por tu respuesta Poty, vale tienes razon, si usas el evento change, funciona, es decir, salen mensajes segun lo que especifico. El problema es que lo que quiero es que el evento se ejecute cuando cambie una celda determinada y con el evento Change el codigo se ejecuta siempre que cambie algo en el Workbook. He estado mirando por internet y he visto que el evento Sheetchange permite hacer lo que quiero, pero este evento se coloca:
Private Sub objeto_SheetChange(ByVal Sh As Object, ByVal Source As Range) . Lo que no se es como decirle a la funcion que se ejecute cuando cambie una celda y solo esa celda. Haber si alguien puede ayudarme. Muchas gracias

llazz 17/01/2006 08:53

Hola,

Prueba a poner esto en el evento Change del Workbook:

If ActiveCell.Address = "$D$5" Then
'Lo que quieras hacer
End If

En este caso sólo ejecutará el código cuando cambie el valor de la celda "D5"


La zona horaria es GMT -6. Ahora son las 21:40.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.