Macro en excel 2010 marca error 400

Tengo el siguiente código que lo que se supone que debe hacer es seleccionar una carpeta y abrir todos los archivos que contiene y como todos los archivos son iguales a todos les va agregar una nueva hoja y ahí va acomodar los datos.

Sub varios_archivos()
Set navegador = CreateObject("shell.application")
carpeta = navegador.browseforfolder(0, "SELECCIONA LA CARPETA A ZUMBAR", 0, "c:\").items.Item.Path
ChDir carpeta & "\"
archi = Dir("*.xml*")
Do While archi <> ""
Workbooks.Open archi
Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Previous.Select
    Range("J6").Select
    Range("J6:J7").Select
    Selection.Copy
    ActiveSheet.Next.Select
    ActiveSheet.Paste
    Range("A3").Select
    ActiveSheet.Previous.Select
    Range("J18:J26").Select
    Selection.Copy
    ActiveSheet.Next.Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Range("A4").Select
    ActiveSheet.Previous.Select
    Range("J36:J44").Select
    Selection.Copy
    ActiveSheet.Next.Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Range("A5").Select
    ActiveSheet.Previous.Select
    Range("J54:J62").Select
    Selection.Copy
    ActiveSheet.Next.Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Range("A6").Select
    ActiveSheet.Previous.Select
    Range("J72:J80").Select
    Selection.Copy
    ActiveSheet.Next.Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Range("A7").Select
    ActiveSheet.Previous.Select
    Range("J90:J98").Select
    Selection.Copy
    ActiveSheet.Next.Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Range("A8").Select
archi = Dir()
Loop
End Sub

Pero al final sólo abre el primer archivo y marca Error 400, sólo eso

Añade tu respuesta

Haz clic para o