Ejecutar macro dependiendo el valor de una celda

Pues me gustaría saber si es posible ejecutar una determinada macro dependiendo del valor que contenga una celda con lista desplegable

Por ejemplo si en la celda A3 se escoge la palabra "hola" se ejecute la Macro1, si se escoge la palabra "adiós" se ejectue la Macro2.

6 Respuestas

Respuesta
9

Para ello es ideal programar el evento change de la hoja donde están esos datos. Sería así:

Copia esta macro en el objeto hoja que estamos tratando, no en un módulo.

De esta manera cuando modifiques el contenido de la celda A3 se autoejecutará la macro y ejecutará la MACRO1 si seleccionas hola y ejecutará la MACRO2 si seleccionas adiós.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$3" Then
If UCase(Target.Value) = "HOLA" Then
macro1
ElseIf UCase(Target.Value) = "ADIOS" Then
macro2
End If
End Sub

no olvides finalizar la consulta

Hola

Gracias por responder, sabes probé con esa pero no me resulta. primero me dice que falta un End If por lo que se lo agregue al final, pero tampoco me funciona. Probé cambiando algunas cosas pero nada =(

Saludos

Si amigo es cierto falta un end if. Esta es la macro correcta:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$3" Then
If UCase(Target.Value) = "HOLA" Then
macro1
ElseIf UCase(Target.Value) = "ADIOS" Then
macro2
End If
end if
End Sub

Hi again

Pues eso fue lo que probé, pero no hace nada. No tira error ni nada, simplemente no hace nada.

La copie tal cual y modifique las palabras porque tengo otras y el nombre de las macros que se deben ejecutar.

Saludos

Que más puedo decir amigo, la macro está probada y funciona perfectamente. Asegúrate que la has copiado en el objeto hoja y no en un módulo

Respuesta

Cual seria el cambio en los códigos, si la celda que cambia está basada en una fórmula, en mi caso buscarv, es la fórmula que utilizo y por la cual va cambiando la celda; ya que con ese código no funciona para mi

Respuesta

Gracias me ha servido de gran ayuda

Respuesta

Gracias por la respuesta exactamente lo que estaba buscando! Y si que busque bastante en las redes

Respuesta

Luis Mondelo gran aporte y si quisiera que trabaje con un commandbutton y no automática

Respuesta

Quisiera saber como puedo hacer para enviar mails cuando un rango de columnas tiene la fecha de hoy.- Yo ya tengo el macro armado para enviar mails pero no lo puedo hacer andar cuando la celda tiene la fecha de hoy.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas