Anda di halaman 1dari 2

03/01/14

XL: Cmo ejecutar una macro al cambiar de determinadas celdas

A ds by V iew P assw ord

A d O ptions

Al usar este sitio Ud. acepta el uso de cookies para anlisis, contenido personalizado y publicidad.

Saber ms

XL: Cmo ejecutar una Macro al cambian determinadas celdas


Id. de artculo: 142154 - Ver los productos a los que se aplica este artculo

Resumen
En Microsoft Excel, puede crear una macro que se llama slo cuando se introduce un valor en una celda en una hoja en particular o en una hoja que est abierta actualmente. Sin embargo, tenga en cuenta que no debe llamarse macros innecesariamente porque ralentizan el rendimiento de Excel.

Ms informacin
Microsoft proporciona ejemplos de programacin nicamente con fines ilustrativos, sin ninguna garanta expresa o implcita. Esto incluye, pero no se limita a, las garantas implcitas de comerciabilidad o idoneidad para un fin determinado. Este artculo asume que est familiarizado con el lenguaje de programacin que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte tcnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarn estos ejemplos para ofrecer mayor funcionalidad ni crearn procedimientos que cumplan sus requisitos especficos. En muchos casos, una macro slo debe ejecutarse cuando un determinado nmero de celdas tiene introducidos valores (denominadas "celdas clave" en este documento). Para evitar una gran macro cada vez que se introduce un valor en una celda de una hoja, debe comprobar si el ActiveCell es una de las celdas de la claves. Para ello, utilice el mtodo Intersect ActiveCell y el rango que contiene las celdas claves para comprobar que el ActiveCell es una de las celdas de la claves. Si el ActiveCell est en el rango que contiene las celdas claves, puede llamar a la macro. Para ejecutar este ejemplo de macro: 1. Abra un nuevo libro. 2. De Sheet1 en la celda A11, escriba la frmula siguiente: =SUM(A1:A10) 3. Copie esta frmula en las celdas B11, C11 y D11. En el ejemplo utilizado aqu, la macro hace que el color de fondo de las celdas A11, B11 y C11 para cambiar a rojo (o ColorIndex 3) si el valor de esa celda es mayor que 50; de lo contrario, el color de fondo de la celda ser normal. Esto se consigue mediante la comprobacin de las entradas de las celdas a1: a10, B1: B10 y C1: C10. Cada vez que se realiza una entrada en cualquier celda de Sheet1, se ejecuta la macro DidKeyCellsChange. Esta macro se determina si el ActiveCell est en el rango de celdas claves (a1: C10). Si es as, la macro KeyCellsChanged se llama para volver a evaluar las clulas A11:C11. Las siguientes macros colaboran para llevar a cabo esta funcionalidad. La macro "Auto_abrir" se debe ejecutar una vez en el orden de las macros se llama. 4. Inserte una nueva hoja de mdulo. En Microsoft Excel 97, en el men Herramientas , seale Macroy, a continuacin, haga clic en Editor de Visual Basic. En el Editor, haga clic en mdulo en el men Insertar . En las versiones 5.0 y 7.0 de Microsoft Excel, elija Macro en el men Insertar y, a continuacin, haga clic en Mdulo. 5. Escriba el siguiente cdigo de macro en la hoja de mdulo: S u ba u t o _ o p e n ( )'R u nt h em a c r oD i d C e l l s C h a n g ea n yt i m eae n t r yi sm a d ei na'c e l li nS h e e t 1 . T h i s W o r k b o o k . W o r k s h e e t s ( " S h e e t 1 " ) . O n E n t r y=" D i d C e l l s C h a n g e "E n dS u bS u bD i d C e l l s C h a n g e ( )D i mK e y C e l l sa sS t r i n g'D e f i n e w h i c hc e l l ss h o u l dt r i g g e rt h eK e y C e l l s C h a n g e dm a c r o .K e y C e l l s=" A 1 : A 1 0 ,B 1 : B 1 0 ,C 1 : C 1 0 "'I ft h eA c t i v e c e l li so n eo ft h e k e yc e l l s ,c a l lt h e'K e y C e l l s C h a n g e dm a c r o .I fN o tA p p l i c a t i o n . I n t e r s e c t ( A c t i v e C e l l ,R a n g e ( K e y C e l l s ) )_I sN o t h i n gT h e n K e y C e l l s C h a n g e dE n dS u bS u bK e y C e l l s C h a n g e d ( )D i mC e l la sO b j e c t'I ft h ev a l u e si nA 1 1 : C 1 1a r eg r e a t e rt h a n5 0 . . .F o rE a c h C e l lI nR a n g e ( " A 1 1 : C 1 1 " )I fC e l l>5 0T h e n'M a k et h eb a c k g r o u n dc o l o ro ft h ec e l lt h e3 r dc o l o ro nt h e'c u r r e n tp a l e t t e . C e l l . I n t e r i o r . C o l o r I n d e x=3E l s e'O t h e r w i s e ,s e tt h eb a c k g r o u n dt on o n e( d e f a u l t ) .C e l l . I n t e r i o r . C o l o r I n d e x=x l N o n eE n dI f N e x tC e l lE n dS u b 6. Guarde el libro y cirrelo. 7. Abra el libro. Esto har que la macro Auto_abrir se ejecute. 8. En la celda A1, escriba 60. Celda A11 debera cambiar a un color de fondo rojo porque cambi una celda en el rango de KeyCells y el valor de la celda A11 se convirti en ms de 50. 9. En la celda D1, escriba 60

support.microsoft.com/kb/142154/es

1/2

03/01/14

XL: Cmo ejecutar una macro al cambiar de determinadas celdas


No pasar nada en el color del D11, incluso aunque el valor de D11 ahora es mayor que 50. No sucede nada porque la celda D1 no est en el intervalo de KeyCells.

Referencias
En Microsoft Excel versin 7.0, para obtener ms informacin acerca de cmo ejecutar procedimientos cuando se produce un evento, haga clic en la ficha ndice de la Ayuda de Microsoft Excel, escriba el texto siguiente procedimientos de ejecucin Haga doble clic en el texto adecuado para ir al tema "Ejecucin de procedimientos cuando se produce un evento" .

Id. de artculo: 142154 - ltima revisin: mircoles, 17 de agosto de 2005 - Versin: 2.1 La info r ma ci n d e es te a r tculo s e r efier e a :
Microsoft Excel Microsoft Excel Microsoft Excel Microsoft Excel Microsoft Excel Microsoft Excel Microsoft Excel Microsoft Excel 98 para Macintosh 97 Standard Edition 95 Standard Edition 5.0 Standard Edition 5.0c 5.0 para Macintosh 5.0a para Macintosh 5.0 Standard Edition

Pa la b r a s cla ve: kbmt kbdtacode kbhowto kbprogramming KB142154 KbMtes Traduccin automtica
IMPORTANTE: Este artculo ha sido traducido por un software de traduccin automtica de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artculos traducidos por un traductor humano y artculos traducidos automticamente para que tenga acceso en su propio idioma a todos los artculos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artculos traducidos automticamente pueden contener errores en el vocabulario, la sintaxis o la gramtica, como los que un extranjero podra cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisin, error o dao ocasionado por una mala traduccin del contenido o como consecuencia de su utilizacin por nuestros clientes. Microsoft suele actualizar el software de traduccin frecuentemente. Haga clic aqu para ver el artculo original (en ingls): 142154 (http://support.microsoft.com/kb/142154/en-us/ )

Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna

El presente artculo se escribi para productos para los que Microsoft ya no ofrece soporte tcnico. Por tanto, el presente artculo se ofrece "tal cual" y no ser actualizado.

A ds by V iew P assw ord

A d O ptions

A ds by V iew P assw ord

A d O ptions

support.microsoft.com/kb/142154/es

2/2

Anda mungkin juga menyukai