Activar macro si cambia el valor de la celda

Necesito activar una macro cuando cambie el valor de una celda ... Prove con este
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RangCtrl As String
Dim EnRango As Variant
If Range("B20").Value = 1 Then
Run "Macro1"
Else
If Range(?B20?).Value = 2 Then
ListBox1.Visible = True
Else
ListBox1.Visible = False
End If
End If
End Sub
Osea cuando cambia el valor de la celda b20 se ejecuta la macro... Pero no lo toma al 1 sino cuando lo pongo yo, la celda la tengo con una fórmula y no toma el valor 1 o 2 solo silo pongo manualmente... Como puedo hacer para que tome el valor por ejemplo de una fórmula o si la ligo a otra celda... Si esta cambia cambia b20 y se ejecuta el macro
1

1 respuesta

Respuesta
1
En vez de utilizar el evento "change" utiliza "Calculate"
Private Sub Worksheet_Calculate()
Dim RangCtrl As String
Dim EnRango As Variant
If Range("B20").Value = 1 Then
Run "Macro1"
Else
If Range(?B20?).Value = 2 Then
ListBox1.Visible = True
Else
ListBox1.Visible = False
End If
End If
End Sub
No me funciona la macro
Esto para que es
If Range(?B20?).Value = 2 Then
no esta mal el (?b20?)
Me da error...
Me podrías armar una vos... no tengas en cuanta la que te di de ejemplo...
La verdad no se mucho de macro...
Lo que busco es que si tengo una fórmula en b20 si esta cambia que me tome el cambio y no poniéndolo mannualmente... gracias
Ejecutaras la Macro1 al cambiar la celda de valor mediante fórmula, con el siguiente código:
Private Sub Worksheet_Calculate()
Run "Macro1"
End Sub
Este evento debes colocarlo en el código la hoja donde esta la celda B20 que cambia de valor.
Hola... gracias por la atención...
Mira en la macro que me pones no me especifica la celda B20.. ¿la podes armar para que especifique tal celda?... ademas quiero que saques una duda ... cuando le pongo que ejecute un mensaje en lugar de una macro me sale por ej. "numero correcto" que es lo que le puse pero hay alguna foma de sacar el "microsoft excel" que aparece arriba... gracias
Te voy a responder la segunda parte
Para Que No te aparezca puedes configurar el mensaje
Por ejemplo:
MsgBox "Número Correcto", vbInformation, "Tu Titulo"
Dejame trabajar sobre la primera parte para que solo se ejecute si cambia la celda B20 y te aviso.
Como puedo hacer para agrandar las letras de los mensajes o ponerles algún gráfico o sonido que yo quiera... gracias y disculpa las molestias...
Modificar estas Opciones como letra y sonido es según la configuración que tengas del Windows.
Cambiar el tipo de letra y sonidos afectara a todos los programas del PC.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas