Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

[SOLUCIONADO] Duda utilizando on error GoTo linea

Estas en el tema de Duda utilizando on error GoTo linea en el foro de Visual Basic clásico en Foros del Web. Buenas tardes, compañeros tengo una duda, respecto al uso del Goo En primer lugar necesito utilizarlo dentro de un ciclo For, y en el primer ...
  #1 (permalink)  
Antiguo 17/04/2015, 13:21
 
Fecha de Ingreso: abril-2015
Mensajes: 3
Antigüedad: 9 años, 7 meses
Puntos: 0
Pregunta Duda utilizando on error GoTo linea

Buenas tardes, compañeros tengo una duda, respecto al uso del Goo

En primer lugar necesito utilizarlo dentro de un ciclo For, y en el primer error este cumple su fincion, pero cuadno sale un segundo error no me funciona.

ejemplificando mi algoritmo cree este mini codigo que me solucionaria el mio especificamente.

Sub hola()

Dim i As Integer
i = 1
For j = 1 To 10
Application.DisplayAlerts = False
On Error GoTo 1
i = i * j * 10
Cells(j, 1) = i
1:
Next j
End Sub

Este algoritmo arroja un error cuando crece mucho la variable i, porque se declaro como un integer.

Pd. el GoTo resume Next tampoco me funcionó. la salida de esa corrida deberia ser una lista 10, 200, 600 y como sale error en el resto deberia solo imprimir esos datos, no deberia sacar mas valores.

Agradezco una prontea respuesta.
  #2 (permalink)  
Antiguo 17/04/2015, 16:55
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 18 años, 3 meses
Puntos: 29
Respuesta: Duda utilizando on error GoTo linea

No te entiendo.
El primer error lo da cuando la cuenta es 10, 200, 6000.
Si lo que quieres es salir al primer error ¿por que no lo mandas fuera del bucle cuando sucede??
Si te quedas dentro solo conseguiras mas errores.

PD:
Pero para gustos los colores...
Si te hace ilusion hacer todo el ciclo o simplemente por si a alguien le interesa, este modo hace todo el bucle sin mostrar errores.

Código vb:
Ver original
  1. Private Sub Command1_Click()
  2.  Dim j As Integer
  3.  Dim i As Integer
  4.  i = 1
  5.  On Error GoTo 1
  6.  For j = 1 To 10
  7.    Application.DisplayAlerts = False
  8.    i = i * j * 10
  9.    Cells(j, 1) = i
  10.    GoTo 2
  11. 1:
  12.    Resume 2
  13. 2:
  14.  Next j
  15. End Sub

Incluso podemos sacar el error del bucle para que alguno lo tenga mas claro:

Código vb:
Ver original
  1. Private Sub Command1_Click()
  2.   Dim j As Integer
  3.   Dim i As Integer
  4.   i = 1
  5.   On Error GoTo 1
  6.   For j = 1 To 10
  7.    Application.DisplayAlerts = False
  8.     i = i * j * 10
  9.    Cells(j, 1) = i
  10. 2:
  11.   Next j
  12.   GoTo FinSub
  13. 1:
  14.   Resume 2
  15. FinSub:
  16. End Sub

Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!

Última edición por pkj; 17/04/2015 a las 17:10
  #3 (permalink)  
Antiguo 17/04/2015, 18:37
 
Fecha de Ingreso: abril-2015
Mensajes: 3
Antigüedad: 9 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Duda utilizando on error GoTo linea

Pkj, muchas gracias por su ayuda, realmente lo necesitaba era por que necesitaba abrir varios libros de excel que tienen un serial, pero no están continuos, por eso necesitaba que siguiera iterando así encontrará errores.

Etiquetas: basic, excel, programacion, vba, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:16.