Foros del Web » Programación para mayores de 30 ;) » Programación General »

Macros visual basic

Estas en el tema de Macros visual basic en el foro de Programación General en Foros del Web. Tengo unas macros creadas en unas hojas excel, llevan funcionando bastante tiempo, pero de repente una de ellas ha fallado. La funcion de dicha macro ...
  #1 (permalink)  
Antiguo 19/11/2009, 03:56
 
Fecha de Ingreso: octubre-2006
Mensajes: 185
Antigüedad: 17 años, 6 meses
Puntos: 0
Macros visual basic

Tengo unas macros creadas en unas hojas excel, llevan funcionando bastante tiempo, pero de repente una de ellas ha fallado. La funcion de dicha macro es ir a la primera linea que esta en blanco(hay 34000 lineas entonces es bastante util).
He vuelto a una copia de la hoja que etnia y da el fallo siempre en la misma linea la 34900 a aprtir de ahi falla siempre el codigo para la macro en visual basci es:

Sub Ir_al_primero_libre()
Dim salto As Integer, fila As Integer
salto = 50
fila = salto

Application.ScreenUpdating = False
Inicio:
Cells(fila, 3).Select
If ActiveCell.Value <> "" Then
fila = fila + salto
GoTo Inicio
End If
Cells(fila - (salto / 2), 3).Select

Sigo:
If ActiveCell.Value <> "" And ActiveCell.Offset(1, 0).Range("A1").Value = "" Then
ActiveCell.Offset(1, 0).Range("A1").Select
GoTo Fin
End If

If ActiveCell.Value <> "" Then
ActiveCell.Offset(1, 0).Range("A1").Select
Else
ActiveCell.Offset(-1, 0).Range("A1").Select
End If
GoTo Sigo

Fin:
Application.ScreenUpdating = True
ActiveCell.Activate
End Sub


En el texto en azul es donde da el error al hacer el bucle unas 34000 veces, entonces da "error 6 en la ejecucion fuera de rango" en dicho texto hay un <>(distinto) pero si lo cambio por un = parece que la macro funciona. Esta no tendria que ser la solucion puesto que nadie ha cambiado la macro.
Conclusion no se porque falla. Si alguien me puede ayudar porfavro lo agradeceria mucho.
Un saludo y gracias por la atencion y la posible ayuda.
  #2 (permalink)  
Antiguo 21/11/2009, 09:09
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: Macros visual basic

Hola, no se si puede ser por esto, pero observo que utilizas la variable de tipo Integer

Piensa que este Tipo sólo acepta valores entre -32.767 y 32.767

Es sólo una idea, pero tal vez te sirva para localizarlo.

Saludos
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 18:29.