Cuando aplico una fórmula en excel para cumplir la condición y aparezca una imagen no funciona

He visto este código aquí, en EXPERTOS y me pareció EXCELENTE, solo que cuando se aplica una fórmula para cumplir la condición y aparezca una imagen, no funciona, parece que el resultado de la fórmula lo desconoce. ¿Pueden ayudarme?
Private Sub Worksheet_Change(ByVal Target as Range)
if Target.Address = "$AB$9" Then
if Range("AB9").Value = 1 Then
Activesheet.Shapes("5 Grupo").Visible = True
End if
Elseif Range("AB9").Value = "" Then
ActiveSheet.Shapes("5 Grupo").Visble = False
Endif
Endif
End Sub
De antemano muchas gracias
Atentamente Lorenzo salinas

1 respuesta

Respuesta
1
El evento Change que estás utilizando solo se ejecuta si realizas un cambio manualmente, ingresando algún valor. No es posible que se ejucute al cambio por el resultado de una fórmula.
Podrías utilizar el evento Calculate, pero si tu hoja tiene muchas fórmulas se ejecutará ante cada cambio en cada celda... no creo que éste sea lo + recomendable. Confirma sino para que te ajuste una rutina para eso.
PD) No te pierdas las novedades del mes en mi sitio. El nuevo manual Guías trae un cap especialmente dedicado al tratamiento de imágenes.
Elsa
Muchísimas Gracias por la aclaración y por el hecho de tomarse el tiempo para darme una respuesta.
Intente hacer lo que me sugiere usted. Lo que entendí era que debía cambiar la palabra
Change por Calculate y estando de esta forma:
Private_Sub WorkShseet_Change(ByVal Target as Range)
Quedaria así:
Private_Sub WorkSheet_Calculate(ByVal Target as Range)
No me funciono. Creo que esto implica algo más que este cambio. O no es esto a lo que usted se refiere. Y, es que honestamente lo poquito que he aprendido lo he hecho a prueba y error y desconozco los términos técnicos. Aun así, si esta en su poder, apoyarme para entender esto o sugerirme otra opción, que usted me indique, mucho se lo agradeceré.
He visto su sitio y si me interesan sus manuales de EXCEL. Solo una pregunta ¿qué tipo de moneda es la que maneja? ¿Dolares o Pesos?.
Vivo en México.
Un saludo cordial
Atentamente Lorenzo
Estando en el Editor, en la hoja en cuestión, seleccioná de los desplegables los valores Worksheet en el 1ro y Calculate en el 2do. Te quedará así:
Private Sub Worksheet_Calculate()
Ahora como no aparece Target en sus argumentos tendrás que hacer re a las celdas en cuestión.
Siguiendo tu rutina de ej:
if Range("AB9").Value = 1 Then
Activesheet.Shapes("5 Grupo").Visible = True
Elseif Range("AB9").Value = "" Then
ActiveSheet.Shapes("5 Grupo").Visble = False
Endif
Si te presenta algún error, volvé a escribir la rutina tal como la dejaste y verificando previamente que tu objeto se llama justamente '5 Grupo'
PD) Los precios de todos los manuales están en dól. Contáctame al correo que encontrarás en mi página para ampliar los detalles.
Te recuerdo que la consulta sigue abierta. No podrás dejar nuevas en el tablón mientras tengas alguna activa (no cerrada).
Si el tema quedó resuelto, optá por FINALIZAR
Sdos
Elsa
Hola Elsa:
Te ofrezco disculpas porque no había podido contestar, debido a cuestiones de mi trabajo y problemas de salud. Te agradezco de alma y corazón la gentileza de tu atención.
Hoy intente de nuevo hacer lo que me indicas y no me funciono. Sin embargo decidí ocultar con el botón la parte que no deseo que vea el usuario y con una macro, asigno un valor numérico que cumpla la condición y así, funciona muy bien. Si esta en tu poder, apoyarme para no ignorar el proceso correcto, también te lo agradeceré.
Respecto de tu página, te contactare por medio de esta, pues si deseo obtener por lo pronto uno o dos manuales, pero necesito me resuelvas una duda.
Recibe hasta donde estas un cordial saludo
No entendí si necesitas algo más ...Si esta en tu poder, apoyarme para no ignorar el proceso correcto, también te lo agradeceré.
¿Ahora estás hablando de un botón... y ya no me parece que estemos hablando de lo mismo?
Mejor me envías una imagen o copia de la hoja para que vea el tema, si aún no está resuelto.
Sdos
Elsa
Elsa:
Fue un error de apreciación mía en la lectura, en el momento verificar la corrección que me enviaste.
¡Ya funciono!
Te agradezco infinitamente tu aportación, ya que un servidor soy todavía aficionado pero apasionado de EXCEL y cualquier otra cosa similar. Es muy seguro que aun teniendo información profesional de tus libros, siga solictando tu apoyo.
Mil Gracias
Un Abrazo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas