Excel - hay algún código que espere a que se actualice una celda para seguir ejecutando la macro?

 
Vista:
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

hay algún código que espere a que se actualice una celda para seguir ejecutando la macro?

Publicado por celia (437 intervenciones) el 30/10/2019 15:31:31
Estoy usando esta 1ª línea de código que espere 3 segundos antes de seguir ejecutando la línea siguiente que lee la celda B1
pero a veces no le da tiempo a actualizar el dato cambiante de esa celda B1 y me lee su contenido anterior y justo después de leerlo se actualiza esa celda B1

Si se pudiera cambiar esa 1ª línea por otro código que espere a que B1 se haya actualizado para solo entonces seguir ejecutando la líneas 2 y siguientes estaría genial,
Probé a ponerle más segundos de tiempo pero parece que se ejecuta todo del tirón y por más tiempo que le ponga la hoja no se actualiza hasta terminar este End Sub
...
Application.Wait (Now + TimeValue("00:00:03"))
Range("B1").Speak
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Dirk
Val: 455
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

hay algún código que espere a que se actualice una celda para seguir ejecutando la macro?

Publicado por Dirk (166 intervenciones) el 06/11/2019 16:03:49
Hola Celia, nunca me ha pasado lo que comentas.... a veces... cuando necesito obtener algún dato de una tabla uso las formulas de excel en vez de recorrer la tabla, es decir escribo el dato en una celda definida y en celda se actualiza con lo que busco, por ejemplo con buscarV.... y nunca me ha fallado... revisa que Excel actualice las fórmulas automáticamente....

Espero puedas solucionar...

Salu2
Dirk
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

hay algún código que espere a que se actualice una celda para seguir ejecutando la macro?

Publicado por celia (437 intervenciones) el 11/11/2019 16:10:34
Hola Dirk, la fórmula que uso si es buscarV y Excel sí está configurado para que actualice las fórmulas automáticamente lo que ocurre es que ese buscarV tiene que buscar el dato en muchas celdas y tarda algunos segundos en obtener el resultado y cuando pulso el botón de la macro que lee el contenido de esa fórmula a menudo no se ha actualizado y me lee el dato anterior.
Será la velocidad de mi pc también o que al ejecutar la macro se le de prioridad a la macro en vez de esperar a terminar de actualizar la celda buscarV. No sé.

Pero muchas gracias por responder.
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfredo
Val: 363
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

hay algún código que espere a que se actualice una celda para seguir ejecutando la macro?

Publicado por Alfredo (120 intervenciones) el 11/11/2019 16:21:06
Hola Celia

¿Y si usas el evento "Change" de la hoja donde esta tu dato cambiante?
El evento Change se dispara cuando se a actualizado una celda y el evento SelectionChange cuando se selecciona una celda

Puede ser una opción.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

hay algún código que espere a que se actualice una celda para seguir ejecutando la macro?

Publicado por celia (437 intervenciones) el 11/11/2019 20:11:25
Hola otra vez
Me vas a disculpar pero no distingo casi nada los comandos de los eventos, ni de los formularios, ..., para mí casi todo el código en excel son líneas en chino y no entiendo la estructura de cada línea.
Sólo llego a copiar y pegar trozos de archivos de ejemplo que encuentro y todo lo que pregunto y me resolvéis en este canal.
¿Cómo se pondría añadir esa línea de SelectionChange que me comentas en esta macro?
Solo tendría que detectar si cambia la cleda B1 para que la ejecutara y la leyera

1
2
3
Sub LeerCeldaB1()
   Range("B1").Speak
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfredo
Val: 363
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

hay algún código que espere a que se actualice una celda para seguir ejecutando la macro?

Publicado por Alfredo (120 intervenciones) el 11/11/2019 21:33:52
mmmmmmm..

Creo seria mejor si me pasas un ejemplo para poder hacer la aplicación de deseas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

hay algún código que espere a que se actualice una celda para seguir ejecutando la macro?

Publicado por celia (437 intervenciones) el 12/11/2019 00:02:04
Muy bien, adjunto el ejemplo entonces
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfredo
Val: 363
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

hay algún código que espere a que se actualice una celda para seguir ejecutando la macro?

Publicado por Alfredo (120 intervenciones) el 18/11/2019 03:12:20
Hola Celia
te adjunto el archivo, espero sea lo que necesitas
Agregue una condición para que solo que sea verdadera se ejecute la macro de voz y esta sera verdadera solo cuando cambie la celda B1, si no sera falsa y no ejecuta lo de la voz

Espero te resulte

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

hay algún código que espere a que se actualice una celda para seguir ejecutando la macro?

Publicado por celia (437 intervenciones) el 18/11/2019 15:39:54
Muy bien Alfredo, me encanta !!!
Intenté cambiarle dos cosas y me atasqué.
Creo que son más sencillas de todo lo que ya le has hecho.
Adjunto la hoja con lo que hice y con lo que no supe hacer.

Mil gracias de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfredo
Val: 363
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

hay algún código que espere a que se actualice una celda para seguir ejecutando la macro?

Publicado por Alfredo (120 intervenciones) el 18/11/2019 19:12:47
Buenas tardes Celia

Espero sea lo que necesitas

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

hay algún código que espere a que se actualice una celda para seguir ejecutando la macro?

Publicado por celia (437 intervenciones) el 18/11/2019 19:30:39
Buenas tardes Alfredo

Está Perfectísimo !!!
Mil gracias más
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de TOTKKACRIALT

hay algún código que espere a que se actualice una celda para seguir ejecutando la macro?

Publicado por TOTKKACRIALT (2 intervenciones) el 05/09/2023 22:37:11
Buenas a todos , tengo el mismo problema y no se como hacer para que funcione el macro a partir de la actualización de la base de datos ( ubicada en un server ) , podrían ayudarme por favor

muchas gracia .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

hay algún código que espere a que se actualice una celda para seguir ejecutando la macro?

Publicado por Alonso (2 intervenciones) el 04/03/2024 17:42:42
hola , con esta linea de codigo sera suficiente:

ActiveWorkbook.RefreshAll
Application.CalculateUntilAsyncQueriesDone ' codigo para esperar que actualice el dato.
'resto del codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar