Ejecucion de macro al cambiar el valor de una celda

Controller

New Member
Joined
Jun 19, 2002
Messages
27
Hola a todos!

¿Como puedo hacer que una macro se ejecute automaticamente cade vez que cambia el valor de una celda?

Tengo una macro que pivota una tabla con distintos valores en funcion del mes, ahora mismo cada vez que cambio el mes, tengo que ejecutar la macro para que la "pivot table" se actualice. El valor del mes se encuentra en una celda concreta.

Gracias por la ayuda
 
Hola David,

Si usted habla suficiente inglés, le recomendio este artículo escrito por Chip: Events In Excel VBA que explica en una forma muy complete el tema sobre como usar eventos.

El ejemplo simple que puso mi amigo Juan Pablo usa una forma muy común para este tipo de cosa - compara rangos usando direcciones. El peligro de esta solución es si alguien inserta o suprima columnas a la izquierda o fila arriba de las celdas invulcradas la dirección cambia y su macro va a dar resultados erróneos. Nombrar el rango primero y hacer referencia a tal nombre hace que su solución es resistente a cambios de posición de las celdas claves.
 
Upvote 0

Excel Facts

Why does 9 mean SUM in SUBTOTAL?
It is because Sum is the 9th alphabetically in Average, Count, CountA, Max, Min, Product, StDev.S, StDev.P, Sum, VAR.S, VAR.P.
Esto se hace con el evento Change() de la hoja, así:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" Then MiMacro

End Sub

Esto llamaría el macro MiMacro cada vez que la celda A1 cambie.


Buenos Dias

Amigo se que ha pasado mucho tiempo desde este tema pero tengo el mismo inconveniente y no se como solucionarlo quisiera saber si me puedo ayudar.. sucede lo siguiente

tengo la siguiente macro:

[FONT=&quot]Sub limitartexto()[/FONT]
[FONT=&quot]Dim limite As Object[/FONT]
[FONT=&quot]Range("B:B").Select[/FONT]
[FONT=&quot]For Each limite In Selection[/FONT]
[FONT=&quot]limite.Value = Left(limite, 10)[/FONT]
[FONT=&quot]Next[/FONT]
[FONT=&quot]End Sub

Pero al momento de correr usa toda la columna y necesito que sea solo la celda escrita dentro de esa columna que puede ser cualquiera desde la 1 a la 10000, y esto es por que en esa columna se escribe los correlativos de las guias y solo necesito los ultimos 9 digitos, y de esta manera corre cada vez que modifico cada celda asi ya este modificada y esto pone muy lento el proceso.

Atento a su respuesta saludos.
[/FONT]
 
Upvote 0
Hola,

Lo mas importante es de saber precisamente cual es la celda ...

Hasta Luego
 
Upvote 0

Forum statistics

Threads
1,223,933
Messages
6,175,481
Members
452,647
Latest member
MatthewBiersay

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top