Ejecutar macro según el valor de una celda

Respuesta de
a
Usuario
Hola. Me llamo Marc y estoy empezando con esto de las macros y necesitaría una pequeña ayudita. Os expongo mi problema:

Tengo un libro de Excel con dos hojas, y quiero hacer una macro que se ejecute cuando se cumpla una condición o una fórmula.

Por Ejemplo:

He hecho esta pequeña macro:

Sub macro1( )
ActiveSheet.Next.Activate
End Sub

Al pulsar Ejecutar Macro pasa a la siguiente hoja.

Pero necesito que se ejecute automáticamente si el usuario introduce un número determinado (por ejemplo 2) en la casilla A1 de la hoja1 y pulsa enter.

Gracias de antemano y saludos.
Experto

Hola Kamanx :

Es bastante simple.

Desde Excel , tipea ALT+F11 para ir a Visual Basic (Herramientas\Macro\Editor de VisualBasic)

Ctrl+R , para ir al "explorador de Proyectos".
En el libro (Ej VBProject (Libro1)) que te interesa , haz "doble click" en "Hoja1".

El cursor se posicionará en la ventana de "Código" (F7).

Allí vuelca el siguiente código :

'***********
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" And Target.Value = 2 Then
MsgBox "Es un 2 en A1"
macro1
End If
End Sub
'***********

Vuelve a Excel y prueba diferentes valores en la celda A1 de la hoja 1 .
Cuando introduzcas un 2, se genera un mensaje. Y luego se ejecuta la "macro1"

Espero que te sea útil.

Suerte.
Usuario
Muchas gracias fjulianes. Me has sido de gran ayuda. He seguido tus indicaciones y ha ido perfecto.