Detectar El Cambio en Una Celda de Excel

4
19/3/2014 Detectar el cambio en una celda de Excel http://exceltotal.com/detectar-el-cambio-en-una-celda-de-excel/ 1/7 Detectar el cambio en una celda de Excel Podemos detectar el cambio en una celda de Excel a través del evento Worksheet_Change en VBA donde podremos indicar el código que se ejecutará al momento de descubrir una modificación en alguna celda o rango de nuestra hoja. Accediendo el evento Worksheet_Change Existen dos métodos para acceder a este evento. 1) Hacer clic derecho en el nombre de la hoja de Excel y seleccionar la opción Ver código. 2) Abrir el Editor de VBA y dentro del Explorador de proyectos hacer doble clic Búscanos en Facebook Excel Total A 22 153 personas les gusta Excel Total . Plug-in social de Facebook Me gusta INICIO FUNCIONES ACERCA

Transcript of Detectar El Cambio en Una Celda de Excel

  • 19/3/2014 Detectar el cambio en una celda de Excel

    http://exceltotal.com/detectar-el-cambio-en-una-celda-de-excel/ 1/7

    Detectar el cambio enuna celda de Excel

    Podemos detectar el cambio en una celda de Excel a travs del evento

    Worksheet_Change en VBA donde podremos indicar el cdigo que seejecutar al momento de descubrir una modificacin en alguna celda o rangode nuestra hoja.

    Accediendo el evento Worksheet_Change

    Existen dos mtodos para acceder a este evento.

    1) Hacer clic derecho en el nombre de la hoja de Excel y seleccionar la opcinVer cdigo.

    2) Abrir el Editor de VBA y dentro del Explorador de proyectos hacer doble clic

    Bscanos en Facebook

    Excel Total

    A 22 153 personas les gusta Excel Total.

    Plug-in social de Facebook

    Me gusta

    INICIO FUNCIONES ACERCA

  • 19/3/2014 Detectar el cambio en una celda de Excel

    http://exceltotal.com/detectar-el-cambio-en-una-celda-de-excel/ 2/7

    sobre el nombre de la hoja.

    Posteriormente debemos seleccionar de las listas desplegables las opcionesWorksheet (en la primera lista) y la opcin Change (en la segunda lista).

    El Editor de VBA desplegar el cdigo respectivo para el eventoWorksheet_Change y podremos escribir nuestro cdigo dentro de la subrutinaprovista.

    El argumento Target del eventoWorksheet_Change

    Nuestro evento tiene definido un argumento llamado Target el cual contendr lacelda que ha sido modificada. Para mostrar el valor de dicho argumentopodemos utilizar siguiente cdigo:

    Sigue a Excel Total

  • 19/3/2014 Detectar el cambio en una celda de Excel

    http://exceltotal.com/detectar-el-cambio-en-una-celda-de-excel/ 3/7

    Cada vez que realices una modificacin a una celda y pulses la tecla Entrar semostrar el mensaje siguiente:

    Cmo detectar el cambio en una celda de Excel

    A continuacin haremos dos ejemplos donde aprenderemos cmo detectar

    el cambio en una celda de Excel utilizando el evento Worksheet_Change enVBA. El primer ejemplo me permitir proteger el contenido de la celda A1 demanera que si detecto cualquier cambio en la celda volver a colocar elnmero 3.141592654 el cual es su valor original.

    De esta manera la celda A1 siempre tendr el valor numrico 3.141592654sin importar las veces que intente modificar su valor. La clave en este cdigoes comparar la propiedad Address para saber si efectivamente se trata de lacelda A1 y en caso de ser verdadero asignar el valor a Target.

    El segundo ejemplo que mostrar nos ayuda a detectar el cambio en un

  • 19/3/2014 Detectar el cambio en una celda de Excel

    http://exceltotal.com/detectar-el-cambio-en-una-celda-de-excel/ 4/7

    rango de celdas. Supongamos que en el rango A1:A10 quiero monitorear elvalor introducido en cada celda y colocar el nmero de la vocal que se haintroducido. De esta manera, si se introduce la letra A se remplazar por elvalor 1. Si se introduce la letra E se remplazar por el valor 2 y assucesivamente. El cdigo para lograr este comportamiento en la hoja es elsiguiente:

    La funcin Intersect nos ayuda a saber si existe alguna coincidencia entre elvalor de Target y el rango A1:A10 en cuyo caso se evaluar el valor de Targetpara saber si es una vocal y entonces hacer el remplazo necesario.

    De manera que puedas comprobar por tu propia cuenta los ejemplos que hemostrado en esta ocasin, puedes descargar el libro de trabajo y hacerpruebas con el cdigo. Recuerda que el evento Woorksheet_Change en VBAes de gran utilidad cuando necesitamos detectar el cambio en una celda de

    Excel de manera que podamos tomar las acciones adecuadas.

    Artculos relacionados

    Introduccin a las macros en ExcelEventos en VBA

    Publicado el 11 de octubre del 2012 por Moiss Ortz