Tenho 1 planilha com um botão e ao clicar o Excel deve:
- localizar a pasta desse arquivo
- nessa pasta existem as pastas das semanas e dentro dessas pastas vários arquivos
- listar o nome dos arquivos na coluna A
- abrir cada arquivo, filtrar, excluir linhas, salvar e fechar
Consegui fazer quase tudo, só que o sistema trabalha apenas no primeiro arquivo de cada pasta e não nos demais.
Alguém me ajuda, pfv?!
segue código:
Private Function LoadFolder()
Dim obj, Folder, File As Variant
Dim linha, n As Integer
linha = 2
For n = 1 To 5
Set obj = CreateObject("Scripting.FileSystemObject")
Set Folder = obj.GetFolder("C:\Desktop\VM\13092021\Week " & n & "\")
For Each File In Folder.Files
Application.StatusBar = "Please wait while the files are formatted..."
Cells(linha, 1) = File.Name
linha = linha + 1
File = Dir(Folder & "\*.csv")
Workbooks.Open Filename:=Folder & "\" & File 'acredito que o problema esteja aqui, não faz o 'Next File' dentro da mesma pasta
Pergunta
igoralves
Boa tarde!
Tenho 1 planilha com um botão e ao clicar o Excel deve:
- localizar a pasta desse arquivo
- nessa pasta existem as pastas das semanas e dentro dessas pastas vários arquivos
- listar o nome dos arquivos na coluna A
- abrir cada arquivo, filtrar, excluir linhas, salvar e fechar
Consegui fazer quase tudo, só que o sistema trabalha apenas no primeiro arquivo de cada pasta e não nos demais.
Alguém me ajuda, pfv?!
segue código:
Private Function LoadFolder()
Dim obj, Folder, File As Variant
Dim linha, n As Integer
linha = 2
Editado por igoralvesFor n = 1 To 5
Set obj = CreateObject("Scripting.FileSystemObject")
Set Folder = obj.GetFolder("C:\Desktop\VM\13092021\Week " & n & "\")
For Each File In Folder.Files
Application.StatusBar = "Please wait while the files are formatted..."
Cells(linha, 1) = File.Name
linha = linha + 1
File = Dir(Folder & "\*.csv")
Workbooks.Open Filename:=Folder & "\" & File 'acredito que o problema esteja aqui, não faz o 'Next File' dentro da mesma pasta
Sheets(1).Columns("A:AF").AutoFilter Field:=4, Criteria1:="None"
ActiveSheet.Range("$A$1:$AF$1").CurrentRegion.offset(1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
ActiveSheet.ShowAllData
ActiveWorkbook.Close SaveChanges:=True
Next File
Next n
End Function
erro de gramática
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.