Listar arquivos de diversas pastas diferentes
Enviado: 27 Abr 2016 às 19:35
Pessoal , boa tarde
Estou com uma pequena duvida e acredito que voces podem me ajudar facilmente
Segue meu codigo
Eu gostaria de poder indicar mais de uma pasta
Poderiam me auxiliar, por favor?
Super obrigado
Estou com uma pequena duvida e acredito que voces podem me ajudar facilmente
Segue meu codigo
Código: Selecionar todos
Neste caso, a macro lista apenas uma pastaSub Abrir_Copiar_Colar()
Dim FSO As Object, Planilha As Object
Dim Pasta As String, OpenBook As String, EsteArquivo As String, MesSelect As String
Dim uLin As Long
Sheets("Plan1").Select
Cells.Select
Selection.ClearContents
Range("A1").Select
'Determina o arquivo corrente/Ativo
EsteArquivo = ActiveWorkbook.Name
Set FSO = CreateObject("Scripting.FileSystemObject")
Pasta1 = ThisWorkbook.Path & "\01. Janeiro"
Pasta2 = ThisWorkbook.Path & "\02. Fevereiro"
Pasta3 = ThisWorkbook.Path & "\03. Fevereiro"
Application.ScreenUpdating = False
For Each Planilha In FSO.GetFolder(Pasta1).Files
If InStr(1, Planilha, "xls") = 0 Then GoTo PRÓXIMO
Workbooks.Open (Planilha)
OpenBook = ActiveWorkbook.Name
'Seu código para copiar
Totallinha = (Cells(Rows.Count, 1).End(xlUp).Row)
If Totallinha = 2 Then
Sheets("Plan1").Select
Range("A2:w2").Select
Selection.Copy
Else
Sheets("Plan1").Select
Range("A2:w2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
End If
'Seu código para colar
Windows(EsteArquivo).Activate
Sheets("Plan1").Select
'Determina qual a ultima linha com registro
uLin = Cells(Cells.Rows.Count, "A").End(xlUp).Row
'Seleciona a partir de qual celula (linha/coluna) os dados serão colados
Range("A" & uLin + 1).Select
'Cola valores
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = True
Workbooks(OpenBook).Close False
PRÓXIMO:
Next
Application.ScreenUpdating = True
End Sub
Eu gostaria de poder indicar mais de uma pasta
Código: Selecionar todos
No For each, eu consigo determinar pasta1 como destino... mas eu queria poder indicar pasta2 e pasta3 tambem... deste modo , a macro faria a varredura em 3 pastas e me traria os arquivos destas pastas.
Pasta1 = ThisWorkbook.Path & "\01. Janeiro"
Pasta2 = ThisWorkbook.Path & "\02. Fevereiro"
Pasta3 = ThisWorkbook.Path & "\03. Fevereiro"
Application.ScreenUpdating = False
For Each Planilha In FSO.GetFolder(Pasta1).Files
Poderiam me auxiliar, por favor?
Super obrigado