Problemas con macro...

Hola Gualo.
En la ejecución de la macro aparece el siguiente mensaje:
Se ha producido el error '9' en tiempo de ejecución:
Subíndice fuera del intervalo.
Por si no te acordás, ayer me enviaste una macro que junta varios archivos en uno solo pero eliminando las filas no deseadas primero.
Me lo enviaste como robinwho48.xls.
Gracias.

1 respuesta

Respuesta
1
Si revisas la macro, va cambiando de archivo uno por uno, desde el 1.xls hasta el 120.xls, de modo que si no tienes abierto alguno de los archivos, te mandará exactamente ese "error 9".
Te recomiendo que tengas abiertos todos los archivos, y si no tuvieras alguno (ej 99.xls), abras una hoja en blanco, llamaras a la hoja "99" y guardes el archivo como "99.xls" para que al verlo lo una al libro, pero al ver que está vacío pase al siguiente.
Si fueran varios los que no existe, dime y buscamos la manera de validar si existe antes de hacer el proceso.
La verdad es que no me explique exactamente, los nombres van del 1 al 120 pero no están todos...
Intenté poner un OnError y que saltara al NEXT pero parece que no le gustó mucho.
Normalmente, corren los mismos archivos (ej el 1,5,7,15,22,..., ¿116,120) o van cambiando cada vez que corres la macro?, en su caso, ¿cuáles son los que usas? ¿Son más los que se usan o los que no se usan cada vez que corres la macro? A ver si puedes darme mejor info para que yo pudiera ver la mejor manera de programarlo.
Disculpa la demora, pero estuve de mudanza...
Son siempre los mismos archivos, pero la numeración es salteada. ¿No sería más fácil que si no encuentra el número pase al siguiente? El error que daba antes era porque no tenía abiertos los archivos :)
¿Es posible que los archivos se abran con la macro?
Bueno, es todo por ahora...
Gracias.
Antes de la línea que dice:
Windows(nombre). Activate
Inserta estas líneas:
ChDir "C:\Documents and Settings\emc.VENTAS2\Mis documentos\Gualo\Todoexpertos"
Workbooks.Open Filename:=nombre
´Solo cambia la ruta de ChDir "" por el directorio donde tienes tus archivos numerados.
Si necesitas dime y te mando toda la macro o el archivo
Anda todo bien, solo necesitaría que cuando no encuentra un número (nombre de archivo) siga con el próximo y no de error.
Gracias.
PUES: Después tengo otra pregunta pero como es más complicada la dejo para otra oportunidad.
Prueba usar la siguiente macro, y si no, me dices. Saludos
Sub Integrar()
'
' Integrar Macro
' Macro grabada el 19/11/2002 por Eduardo Marañón
'
Dim cuenta As Integer
Dim hoja, archivo As String
'
ChDir "C:\Documents and Settings\emc.VENTAS2\Mis documentos\Gualo\Todoexpertos"
For cuenta = 1 To 120
hoja = Trim(Str$(cuenta))
archivo = hoja & ".xls"
On Error GoTo 5
Workbooks.Open (archivo)
Windows(archivo).Activate
Sheets(hoja).Select
Sheets(hoja).Copy Before:=Workbooks("robinwho48.xls").Sheets(cuenta)
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range("B2").Select
While ActiveCell.Value <> ""
If ActiveCell.Value <= 0 Or ActiveCell.Value > 98000 Then
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Wend
Range("D2").Select
While ActiveCell.Value <> ""
If ActiveCell.Value <= 0 Then
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Wend
5 Resume Next
Next cuenta
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas