Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/11/2009, 03:56
Joloooos
 
Fecha de Ingreso: octubre-2006
Mensajes: 185
Antigüedad: 17 años, 7 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.