Controlar error en tablas enlazadas con la web

12/04/2010 - 04:12 por Robert Blanco | Informe spam
Hola:
Mi problema es el siguiente: Logré realizar una macro donde a través
de un botón se actualiza una tabla conectandose con una web(esta parte
lo hice con el grabador de macro), inclusive detecta cual es la ultima
fila y a partir de ella se actualiza. Bien, al hacer mis pruebas
"desactualizo" mis tablas y pruebo el botón actualizar. La
actualización se realiza perfectamente.
Pero, cuando la tabla ya está actualizada y al volver a apretar el
botón actualizar me sale el siguiente error: "Se ha producido el error
1004 en tiempo de ejecución" Error definido por la aplicación y el
objeto.
Y mi macro se queda en la linea
Selection.QueryTable.Refresh BackgroundQuery:=False

Mis consultas: ¿Como puedo hacer para controlar este error?, por
ejemplo que detecte que ya no necesita actualización y me salga una
msgbox que me indique el estado?
Como yo cree esta macro desde mi pc, con el grabador de macro, al
utilizar en otra Pc, ésta reconocerá la URL utilizada?

Este es el código que esta en mi botón ACtualizar:
Sub actualizar()
Application.ScreenUpdating = False
Dim ultimafila, ultimafilaactualizada As Long

Hoja2.Select
Cells(1, 5).Select
ultimafila = Range("E65000").End(xlUp).Row
ultimafila = ultimafila + 1
Cells(ultimafila, 5).Select
Selection.QueryTable.Refresh BackgroundQuery:=False

Hoja2.Select
Cells(1, 5).Select
ultimafila = Range("E65000").End(xlUp).Row
ultimafilaactualizada = ultimafila
Hoja1.Select

Hoja1.Unprotect "xxx"
Hoja1.Range("c30").Locked = False
Hoja1.Range("c30").Value = "Tablas actualizadas hasta el " &
Hoja2.Cells(ultimafila, 3)
Hoja1.Range("c30").Locked = True
Hoja1.Protect "xxx"

Application.ScreenUpdating = True
End Sub

Preguntas similare

Leer las respuestas

#1 PedroJuan
13/04/2010 - 09:24 | Informe spam
On 12 abr, 04:12, Robert Blanco wrote:
Hola:
Mi problema es el siguiente: Logré realizar una macro donde a través
de un botón se actualiza una tabla conectandose con una web(esta parte
lo hice con el grabador de macro), inclusive detecta cual es la ultima
fila y a partir de ella se actualiza. Bien, al hacer mis pruebas
"desactualizo" mis tablas y pruebo el botón actualizar. La
actualización se realiza perfectamente.
Pero, cuando la tabla ya está actualizada y al volver a apretar el
botón actualizar me sale el siguiente error: "Se ha producido el error
1004 en tiempo de ejecución" Error definido por la aplicación y el
objeto.
Y mi macro se queda en la linea
Selection.QueryTable.Refresh BackgroundQuery:=False

Mis consultas: ¿Como puedo hacer para controlar este error?, por
ejemplo que detecte que ya no necesita actualización y me salga una
msgbox que me indique el estado?
Como yo cree esta macro desde mi pc, con el grabador de macro, al
utilizar en otra Pc, ésta reconocerá la URL utilizada?

Este es el código que esta en mi botón ACtualizar:
Sub actualizar()
    Application.ScreenUpdating = False
    Dim ultimafila, ultimafilaactualizada As Long

    Hoja2.Select
    Cells(1, 5).Select
    ultimafila = Range("E65000").End(xlUp).Row
    ultimafila = ultimafila + 1
    Cells(ultimafila, 5).Select
    Selection.QueryTable.Refresh BackgroundQuery:=False

    Hoja2.Select
    Cells(1, 5).Select
    ultimafila = Range("E65000").End(xlUp).Row
    ultimafilaactualizada = ultimafila
    Hoja1.Select

    Hoja1.Unprotect "xxx"
    Hoja1.Range("c30").Locked = False
    Hoja1.Range("c30").Value = "Tablas actualizadas hasta el " &
Hoja2.Cells(ultimafila, 3)
    Hoja1.Range("c30").Locked = True
    Hoja1.Protect "xxx"

    Application.ScreenUpdating = True
End Sub



Puedes probar a incluir la sentencia On error exit sub o On error
resume next para soslayar el error

Salu2
Respuesta Responder a este mensaje
#2 Robert Blanco
19/04/2010 - 22:58 | Informe spam
On 13 abr, 04:24, PedroJuan wrote:
On 12 abr, 04:12,RobertBlanco wrote:





> Hola:
> Mi problema es el siguiente: Logré realizar una macro donde a través
> de un botón se actualiza una tabla conectandose con una web(esta parte
> lo hice con el grabador de macro), inclusive detecta cual es la ultima
> fila y a partir de ella se actualiza. Bien, al hacer mis pruebas
> "desactualizo" mis tablas y pruebo el botón actualizar. La
> actualización se realiza perfectamente.
> Pero, cuando la tabla ya está actualizada y al volver a apretar el
> botón actualizar me sale el siguiente error: "Se ha producido el error
> 1004 en tiempo de ejecución" Error definido por la aplicación y el
> objeto.
> Y mi macro se queda en la linea
> Selection.QueryTable.Refresh BackgroundQuery:=False

> Mis consultas: ¿Como puedo hacer para controlar este error?, por
> ejemplo que detecte que ya no necesita actualización y me salga una
> msgbox que me indique el estado?
> Como yo cree esta macro desde mi pc, con el grabador de macro, al
> utilizar en otra Pc, ésta reconocerá la URL utilizada?

> Este es el código que esta en mi botón ACtualizar:
> Sub actualizar()
>     Application.ScreenUpdating = False
>     Dim ultimafila, ultimafilaactualizada As Long

>     Hoja2.Select
>     Cells(1, 5).Select
>     ultimafila = Range("E65000").End(xlUp).Row
>     ultimafila = ultimafila + 1
>     Cells(ultimafila, 5).Select
>     Selection.QueryTable.Refresh BackgroundQuery:=False

>     Hoja2.Select
>     Cells(1, 5).Select
>     ultimafila = Range("E65000").End(xlUp).Row
>     ultimafilaactualizada = ultimafila
>     Hoja1.Select

>     Hoja1.Unprotect "xxx"
>     Hoja1.Range("c30").Locked = False
>     Hoja1.Range("c30").Value = "Tablas actualizadas hasta el " &
> Hoja2.Cells(ultimafila, 3)
>     Hoja1.Range("c30").Locked = True
>     Hoja1.Protect "xxx"

>     Application.ScreenUpdating = True
> End Sub

Puedes probar a incluir la sentencia On error exit sub o On error
resume next para soslayar el error

Salu2- Ocultar texto de la cita -

- Mostrar texto de la cita -



Muchas gracias, efectivamente solucione con ése código.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida