Então, consegui resolver o problema da importação com o seguinte código.
Sub GerarÁrvoreCompleta1()
Dim strCaminho As String
strCaminho = Sheets("BASE").Cells(1, "B")
Dim fso As Object 'Scripting.FileSystemObject
Dim fld As Object 'Scripting.Folder
Set fso = CreateObject("Scripting.FileSystemObject")
Set fld = fso.GetFolder(strCaminho)
DescePasta fld
Application.ScreenUpdating = False
DescePasta fld
Application.ScreenUpdating = True
End Sub
Private Sub DescePasta(fld As Object) 'fld As Scripting.Folder
Dim subfld As Object 'Scripting.Folder
Dim fl As Object 'Scripting.File
Dim DernLigne As Long
Dim linha As Long
MyPath = ""
'Etapa 1 - Listar todos os arquivos desta Pasta.
For Each fl In fld.Files
DernLigne = Workbooks("Consolidador_2016.xlsm").Worksheets("BASE").Range("A65536").End(xlUp).Row
linha = DernLigne
Do While linha < DernLigne + 14
linha = linha + 1
Workbooks("Consolidador_2016.xlsm").Worksheets("BASE").Range("a" & linha) = fl.Name
Loop
Workbooks.Open (fl.Path)
Workbooks(fl.Name).Worksheets("RESERVAÇÃO").Range("a4:z17").Copy _
Workbooks("Consolidador_2016.xlsm").Worksheets("BASE").Range("b" & (DernLigne + 1))
Workbooks(fl.Name).Close SaveChanges:=False
Next fl
End Sub
Para finalizar a consolidação de dados, eu tenho uma worksheet onde eles são colados, mas o formato não ajuda pois está em linhas ao invés de colunas.
Então criei a worksheet Dados, que é a apresentação das informações importadas no formato banco de dados. Para o RAP 001 por exemplo eu copio a linha e colo transpondo, mas como serão várias linhas de RAP 001 ao longo da worksheet BASE, eu gostaria de um do while/loop ou alguma alternativa que copie, transponha (já fiz a macro de transpor), mas que pule 14 linhas e faça o loop até a última que contenha informação.
Será que poderia me dar essa força?
Postado : 30/03/2016 8:14 am