Tratamiento de Errores

04/02/2006 - 20:28 por Jonathan Milla | Informe spam
Hola de nuevo, me gustaria saber como tratar los errores que
se generan en excel, acerca de estos dos por ejemplo.

If Err.Number > 0 Then GoTo xxxxx
Se que este te manda a una Etiqueta

On Error Resume Next
Este se salta el error

1.- Lo que me interesa es si estos van antes del codigo que generara
el error o despues.
2.- Para que sirve el Resume

Gracias.

Preguntas similare

Leer las respuestas

#1 KL
04/02/2006 - 20:54 | Informe spam
Hola Jonathan,

1.- Lo que me interesa es si estos van antes del codigo que generara
el error o despues.



Antes.

2.- Para que sirve el Resume



Resume significa "reanudar" o sea que en vez de parar el codigo y lanzar el mensaje de error le dices al codigo que ignore el irror
y siga la ejecucion de la siguiente instruccion.

Y aunque no lo preguntas, tambien esta la instruccion

On Error GoTo 0

que basicamente anula los efectos de

On Error Resume Next
On Error GoTo Etiqueta

a partir de la linea donde aparece dicha instruccion para abajo.

Es recomendable andar con mucho cuidado en el uso de las instrucciones del tipo

On Error GoTo Etiqueta
On Error Resume Next
Application.DisplaAlerts=False

ya que se corre el riesgo de que errores imprevistos pasen desapercibidos sin que salte el alarma. Solo se deben usar cuando uno
esta seguro que todos los posibles errores se han tomado en cuenta, y siempre a la menor oportunidad volver al estado normal (segun
la instruccion que se ha usado: 'On Error GoTo 0' o 'Application.DisplaAlerts=True') una vez pasado el fragmento de codigo donde se
pretende manejar el error.

Saludos,
KL
Respuesta Responder a este mensaje
#2 Jonathan Milla
05/02/2006 - 01:23 | Informe spam
Ok, bastante entendible, aunque me esta fallando algo
No puedo hacer que si esta abirto el libro que haga
cierto codigo y si esta cerrado que lo abra y corra cierto codigo.
Puedes ayudarme??


"KL" escribio en el mensaje
news:%23k%23$
Hola Jonathan,

1.- Lo que me interesa es si estos van antes del codigo que generara
el error o despues.



Antes.

2.- Para que sirve el Resume



Resume significa "reanudar" o sea que en vez de parar el codigo y lanzar
el mensaje de error le dices al codigo que ignore el irror y siga la
ejecucion de la siguiente instruccion.

Y aunque no lo preguntas, tambien esta la instruccion

On Error GoTo 0

que basicamente anula los efectos de

On Error Resume Next
On Error GoTo Etiqueta

a partir de la linea donde aparece dicha instruccion para abajo.

Es recomendable andar con mucho cuidado en el uso de las instrucciones del
tipo

On Error GoTo Etiqueta
On Error Resume Next
Application.DisplaAlerts=False

ya que se corre el riesgo de que errores imprevistos pasen desapercibidos
sin que salte el alarma. Solo se deben usar cuando uno esta seguro que
todos los posibles errores se han tomado en cuenta, y siempre a la menor
oportunidad volver al estado normal (segun la instruccion que se ha usado:
'On Error GoTo 0' o 'Application.DisplaAlerts=True') una vez pasado el
fragmento de codigo donde se pretende manejar el error.

Saludos,
KL
Respuesta Responder a este mensaje
#3 KL
05/02/2006 - 01:37 | Informe spam
Hola Jonathan,

Pero si te lo puse en el codigo que cambiaba el nombre de hoja:

Sub Test()
Dim sLibro
sLibro="c:\temp\Libro1.xls"
On Error Resume Next
Set oLibro = Workbooks(Dir(sLibro))
On Error GoTo 0
If oLibro Is Nothing Then Set oLibro = Workbooks.Open(sLibro)
'Aqui el "cierto codigo", p.ej.:
MsgBox oLibro.FullName
End Sub

Saludos,
KL


"Jonathan Milla" wrote in message news:
Ok, bastante entendible, aunque me esta fallando algo
No puedo hacer que si esta abirto el libro que haga
cierto codigo y si esta cerrado que lo abra y corra cierto codigo.
Puedes ayudarme??


"KL" escribio en el mensaje
news:%23k%23$
Hola Jonathan,

1.- Lo que me interesa es si estos van antes del codigo que generara
el error o despues.



Antes.

2.- Para que sirve el Resume



Resume significa "reanudar" o sea que en vez de parar el codigo y lanzar
el mensaje de error le dices al codigo que ignore el irror y siga la
ejecucion de la siguiente instruccion.

Y aunque no lo preguntas, tambien esta la instruccion

On Error GoTo 0

que basicamente anula los efectos de

On Error Resume Next
On Error GoTo Etiqueta

a partir de la linea donde aparece dicha instruccion para abajo.

Es recomendable andar con mucho cuidado en el uso de las instrucciones del
tipo

On Error GoTo Etiqueta
On Error Resume Next
Application.DisplaAlerts=False

ya que se corre el riesgo de que errores imprevistos pasen desapercibidos
sin que salte el alarma. Solo se deben usar cuando uno esta seguro que
todos los posibles errores se han tomado en cuenta, y siempre a la menor
oportunidad volver al estado normal (segun la instruccion que se ha usado:
'On Error GoTo 0' o 'Application.DisplaAlerts=True') una vez pasado el
fragmento de codigo donde se pretende manejar el error.

Saludos,
KL




Respuesta Responder a este mensaje
#4 KL
05/02/2006 - 01:41 | Informe spam
Hola de nuevo,

Aqui el codigo mas pulido :-)

Sub Test()
Dim sLibro As String, oLibro As Workbook
sLibro="c:\temp\Libro1.xls"
On Error Resume Next
Set oLibro = Workbooks(Dir(sLibro))
On Error GoTo 0
If oLibro Is Nothing Then Set oLibro = Workbooks.Open(sLibro)
'Aqui el "cierto codigo", p.ej.:
MsgBox oLibro.FullName
End Sub

Saludos,
KL


"KL" wrote in message news:
Hola Jonathan,

Pero si te lo puse en el codigo que cambiaba el nombre de hoja:

Sub Test()
Dim sLibro
sLibro="c:\temp\Libro1.xls"
On Error Resume Next
Set oLibro = Workbooks(Dir(sLibro))
On Error GoTo 0
If oLibro Is Nothing Then Set oLibro = Workbooks.Open(sLibro)
'Aqui el "cierto codigo", p.ej.:
MsgBox oLibro.FullName
End Sub

Saludos,
KL


"Jonathan Milla" wrote in message news:
Ok, bastante entendible, aunque me esta fallando algo
No puedo hacer que si esta abirto el libro que haga
cierto codigo y si esta cerrado que lo abra y corra cierto codigo.
Puedes ayudarme??


"KL" escribio en el mensaje
news:%23k%23$
Hola Jonathan,

1.- Lo que me interesa es si estos van antes del codigo que generara
el error o despues.



Antes.

2.- Para que sirve el Resume



Resume significa "reanudar" o sea que en vez de parar el codigo y lanzar
el mensaje de error le dices al codigo que ignore el irror y siga la
ejecucion de la siguiente instruccion.

Y aunque no lo preguntas, tambien esta la instruccion

On Error GoTo 0

que basicamente anula los efectos de

On Error Resume Next
On Error GoTo Etiqueta

a partir de la linea donde aparece dicha instruccion para abajo.

Es recomendable andar con mucho cuidado en el uso de las instrucciones del
tipo

On Error GoTo Etiqueta
On Error Resume Next
Application.DisplaAlerts=False

ya que se corre el riesgo de que errores imprevistos pasen desapercibidos
sin que salte el alarma. Solo se deben usar cuando uno esta seguro que
todos los posibles errores se han tomado en cuenta, y siempre a la menor
oportunidad volver al estado normal (segun la instruccion que se ha usado:
'On Error GoTo 0' o 'Application.DisplaAlerts=True') una vez pasado el
fragmento de codigo donde se pretende manejar el error.

Saludos,
KL




Respuesta Responder a este mensaje
#5 Jonathan Milla
05/02/2006 - 05:05 | Informe spam
De Lujo...
Gracias de nuevo...

"KL" escribio en el mensaje
news:%
Hola de nuevo,

Aqui el codigo mas pulido :-)

Sub Test()
Dim sLibro As String, oLibro As Workbook
sLibro="c:\temp\Libro1.xls"
On Error Resume Next
Set oLibro = Workbooks(Dir(sLibro))
On Error GoTo 0
If oLibro Is Nothing Then Set oLibro = Workbooks.Open(sLibro)
'Aqui el "cierto codigo", p.ej.:
MsgBox oLibro.FullName
End Sub

Saludos,
KL


"KL" wrote in message
news:
Hola Jonathan,

Pero si te lo puse en el codigo que cambiaba el nombre de hoja:

Sub Test()
Dim sLibro
sLibro="c:\temp\Libro1.xls"
On Error Resume Next
Set oLibro = Workbooks(Dir(sLibro))
On Error GoTo 0
If oLibro Is Nothing Then Set oLibro = Workbooks.Open(sLibro)
'Aqui el "cierto codigo", p.ej.:
MsgBox oLibro.FullName
End Sub

Saludos,
KL


"Jonathan Milla" wrote in message
news:
Ok, bastante entendible, aunque me esta fallando algo
No puedo hacer que si esta abirto el libro que haga
cierto codigo y si esta cerrado que lo abra y corra cierto codigo.
Puedes ayudarme??


"KL" escribio en el mensaje
news:%23k%23$
Hola Jonathan,

1.- Lo que me interesa es si estos van antes del codigo que generara
el error o despues.



Antes.

2.- Para que sirve el Resume



Resume significa "reanudar" o sea que en vez de parar el codigo y
lanzar el mensaje de error le dices al codigo que ignore el irror y
siga la ejecucion de la siguiente instruccion.

Y aunque no lo preguntas, tambien esta la instruccion

On Error GoTo 0

que basicamente anula los efectos de

On Error Resume Next
On Error GoTo Etiqueta

a partir de la linea donde aparece dicha instruccion para abajo.

Es recomendable andar con mucho cuidado en el uso de las instrucciones
del tipo

On Error GoTo Etiqueta
On Error Resume Next
Application.DisplaAlerts=False

ya que se corre el riesgo de que errores imprevistos pasen
desapercibidos sin que salte el alarma. Solo se deben usar cuando uno
esta seguro que todos los posibles errores se han tomado en cuenta, y
siempre a la menor oportunidad volver al estado normal (segun la
instruccion que se ha usado: 'On Error GoTo 0' o
'Application.DisplaAlerts=True') una vez pasado el fragmento de codigo
donde se pretende manejar el error.

Saludos,
KL



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