Actualizacion desde Internet

13/10/2007 - 21:29 por Ricardo Calvo | Informe spam
Hola estimado grupo :

En una celda de un libro tengo un valor numerico que se actualiza desde
un sitio web cada 15 minutos (valor del dolar) , yo necesito que justo antes
que se actualice se guarde en otra celda el valor actual, para de esta
manera poder medir la variacion que tuvo (si la hubo) , como se podria hacer
esto ?

muchas gracias desde ya

Ricardo

Preguntas similare

Leer las respuestas

#1 Ricardo Calvo
13/10/2007 - 23:06 | Informe spam
Hola Hector, gracias por responder!

Paso a detallar :

- cual es "la celda" (y en cual hoja se encuentra) ?



Digamos que es la celda A1 de la hoja1

- en donde (celda/columna y hoja) te gustaria conservar el historico ?



Digamos que en la celda contigua B1 de la misma hoja

- "como" es que la celda se actualiza cada 15 minutos ?
(opciones de refresco de la consulta ?)



Exactamente, en opciones de refresco de la consulta puse 15 minutos, con lo
cual, cada ese lapso de tiempo, excel automaticamente va y busca el valor
del dolar de un sitio web.


Repito el pedido por si no me exprese bien :

En A1 de la hoja1 tengo el valor de dolar como resultado de una consulta que
lo busca de una pagina web cada 15 minutos, en B1 de la misma hoja necesito
guardar el valor de A1 justo antes de que se lleve a cabo la consulta, de
manera de conservar el valor anterior del dolar para luego determinar si
hubo cambio y cuanto fue este.


Muchas gracias desde ya











"Héctor Miguel" escribió en el mensaje
news:
hola, Ricardo !

En una celda de un libro tengo un valor numerico que se actualiza desde
un sitio web cada 15 minutos (valor del dolar)
yo necesito que justo antes que se actualice se guarde en otra celda el
valor actual
para de esta manera poder medir la variacion que tuvo (si la hubo)
como se podria hacer esto ?



serviria si comentas (+/- exactamente)...

- cual es "la celda" (y en cual hoja se encuentra) ?
- en donde (celda/columna y hoja) te gustaria conservar el historico ?
- "como" es que la celda se actualiza cada 15 minutos ?
(opciones de refresco de la consulta ?)
(alguna macro que se encargue de la actualizacion ?)

saludos,
hector.


Respuesta Responder a este mensaje
#2 Héctor Miguel
14/10/2007 - 03:24 | Informe spam
hola, Ricardo !

En una celda de un libro tengo un valor numerico que se actualiza desde un sitio web cada 15 minutos (valor del dolar)
yo necesito que justo antes que se actualice se guarde en otra celda el valor actual
para de esta manera poder medir la variacion que tuvo (si la hubo)
como se podria hacer esto ?



serviria si comentas (+/- exactamente)...

- cual es "la celda" (y en cual hoja se encuentra) ?
- en donde (celda/columna y hoja) te gustaria conservar el historico ?
- "como" es que la celda se actualiza cada 15 minutos ?
(opciones de refresco de la consulta ?)
(alguna macro que se encargue de la actualizacion ?)

saludos,
hector.
Respuesta Responder a este mensaje
#3 Héctor Miguel
14/10/2007 - 07:09 | Informe spam
hola, Ricardo !

(hasta donde se y dependiendo de la version de excel)...

- la actualizacion/refresco/... de vinculos por canales de aplicaciones "externas" (DDE, OLE, ..)
NO "dispara" los eventos (como el _Change, _SelectionChange, etc. ni siquiera el _Calculate)

- podrias intentar con propiedades como OnData (de la aplicacion o de las hojas) o... SetLinkOnData (del objeto libro)
a las cuales puedes asignarles procedimientos para ser ejecutados al recibirse actualizaciones por vinculos DDE, OLE, etc.
PERO... la macro correria hasta DESPUES de haberse realizado dicha actualizacion/consulta/refresco/... :-(

- (ademas) no creo que sea posible "atrapar" (por anticipado) cuando va a ocurrir un refresco por consultas a bases externas
(a menos, obviamente que programes el metodo OnTime para que se este ejecutando "instantes ANTES" que el tiempo de refresco)

el siguiente ejemplo solo requiere que "la hoja" tenga alguna funcion volatil (como =ahora()) para forzar un re/calculo del modelo
y lo que hace es: depositar (secuencialmente) en las columnas B:C el dato de A1 y la hora cuando ocurren cambios *reales*
(es decir) si con el refresco de la consulta NO hay "variacion" entre el dato nuevo y el que habia anteriormente... no registra nada

corre algunas pruebas y, si cualquier duda (o informacion adicional)... comentas ?
OJO: no te olvides de poner al menos una funcion "volatil" en esa hoja... =hoy() -???-
saludos,
hector.

' en el modulo de codigo de "la hoja" donde se actuliza la consulta en la celda A1 ==Private Sub Worksheet_Calculate()
Static Previo
If Range("a1") = Previo Then Exit Sub
On Error GoTo Salida
Application.EnableEvents = False
With Range("b65536").End(xlUp).Offset(1)
.Offset(0) = Range("a1")
.Offset(, 1) = Time
Previo = Range("a1")
End With
Salida:
Application.EnableEvents = True
End Sub

__ las consultas anteriores __
- cual es "la celda" (y en cual hoja se encuentra) ?


Digamos que es la celda A1 de la hoja1

- en donde (celda/columna y hoja) te gustaria conservar el historico ?


Digamos que en la celda contigua B1 de la misma hoja

- "como" es que la celda se actualiza cada 15 minutos ?
(opciones de refresco de la consulta ?)


Exactamente, en opciones de refresco de la consulta puse 15 minutos, con lo cual
cada ese lapso de tiempo, excel automaticamente va y busca el valor del dolar de un sitio web...

Repito el pedido por si no me exprese bien :
En A1 de la hoja1 tengo el valor de dolar como resultado de una consulta que lo busca de una pagina web cada 15 minutos
en B1 de la misma hoja necesito guardar el valor de A1 justo antes de que se lleve a cabo la consulta
de manera de conservar el valor anterior del dolar para luego determinar si hubo cambio y cuanto fue este.
Respuesta Responder a este mensaje
#4 Ricardo Calvo
14/10/2007 - 15:48 | Informe spam
Muchas gracias por tu excelente explicacion Hector! lo voy a probar a ver
somo queda

Ricardo


"Héctor Miguel" escribió en el mensaje
news:
hola, Ricardo !

(hasta donde se y dependiendo de la version de excel)...

- la actualizacion/refresco/... de vinculos por canales de aplicaciones
"externas" (DDE, OLE, ..)
NO "dispara" los eventos (como el _Change, _SelectionChange, etc. ni
siquiera el _Calculate)

- podrias intentar con propiedades como OnData (de la aplicacion o de las
hojas) o... SetLinkOnData (del objeto libro)
a las cuales puedes asignarles procedimientos para ser ejecutados al
recibirse actualizaciones por vinculos DDE, OLE, etc.
PERO... la macro correria hasta DESPUES de haberse realizado dicha
actualizacion/consulta/refresco/... :-(

- (ademas) no creo que sea posible "atrapar" (por anticipado) cuando va a
ocurrir un refresco por consultas a bases externas
(a menos, obviamente que programes el metodo OnTime para que se este
ejecutando "instantes ANTES" que el tiempo de refresco)

el siguiente ejemplo solo requiere que "la hoja" tenga alguna funcion
volatil (como =ahora()) para forzar un re/calculo del modelo
y lo que hace es: depositar (secuencialmente) en las columnas B:C el dato
de A1 y la hora cuando ocurren cambios *reales*
(es decir) si con el refresco de la consulta NO hay "variacion" entre el
dato nuevo y el que habia anteriormente... no registra nada

corre algunas pruebas y, si cualquier duda (o informacion adicional)...
comentas ?
OJO: no te olvides de poner al menos una funcion "volatil" en esa hoja...
=hoy() -???-
saludos,
hector.

' en el modulo de codigo de "la hoja" donde se actuliza la consulta en
la celda A1 ==> Private Sub Worksheet_Calculate()
Static Previo
If Range("a1") = Previo Then Exit Sub
On Error GoTo Salida
Application.EnableEvents = False
With Range("b65536").End(xlUp).Offset(1)
.Offset(0) = Range("a1")
.Offset(, 1) = Time
Previo = Range("a1")
End With
Salida:
Application.EnableEvents = True
End Sub

__ las consultas anteriores __
- cual es "la celda" (y en cual hoja se encuentra) ?


Digamos que es la celda A1 de la hoja1

- en donde (celda/columna y hoja) te gustaria conservar el historico ?


Digamos que en la celda contigua B1 de la misma hoja

- "como" es que la celda se actualiza cada 15 minutos ?
(opciones de refresco de la consulta ?)


Exactamente, en opciones de refresco de la consulta puse 15 minutos, con
lo cual
cada ese lapso de tiempo, excel automaticamente va y busca el valor del
dolar de un sitio web...

Repito el pedido por si no me exprese bien :
En A1 de la hoja1 tengo el valor de dolar como resultado de una consulta
que lo busca de una pagina web cada 15 minutos
en B1 de la misma hoja necesito guardar el valor de A1 justo antes de que
se lleve a cabo la consulta
de manera de conservar el valor anterior del dolar para luego determinar
si hubo cambio y cuanto fue este.





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida