Vba: como abrir todos os arquivos da pasta
Você pode usar um loop Do While com o método Workbooks.Open no VBA para abrir todos os arquivos em uma pasta específica.
Aqui está uma maneira comum de fazer isso na prática:
Sub OpenAllFilesInFolder()
Dim ThisFolder As String
Dim ThisFile As String
'specify folder location and types of files to open in folder
ThisFolder = "C:\Users\bob\Documents\current_data"
ThisFile = Dir(ThisFolder & "\*.xlsx")
'open each xlsx file in folder
Do While ThisFile <> ""
Workbooks.Open Filename:=ThisFolder & "\" & ThisFile
ThisFile = Dir
Loop
End Sub
Esta macro específica abre todos os arquivos com extensão .xlsx na seguinte pasta:
- C:\Usuários\bob\Documentos\dados_atual
O exemplo a seguir mostra como usar esta macro na prática.
Relacionado: Como obter uma lista de todas as pastas de trabalho abertas usando VBA
Exemplo: como abrir todos os arquivos de uma pasta usando VBA
Digamos que temos a seguinte pasta chamada current_data que contém três arquivos .xlsx :
Digamos que queremos usar o VBA para abrir todos os arquivos .xlsx nesta pasta.
Podemos criar a seguinte macro para fazer isso:
Sub OpenAllFilesInFolder()
Dim ThisFolder As String
Dim ThisFile As String
'specify folder location and types of files to open in folder
ThisFolder = "C:\Users\bob\Documents\current_data"
ThisFile = Dir(ThisFolder & "\*.xlsx")
'open each xlsx file in folder
Do While ThisFile <> ""
Workbooks.Open Filename:=ThisFolder & "\" & ThisFile
ThisFile = Dir
Loop
End Sub
Ao executar esta macro, cada arquivo com extensão .xlsx na pasta será aberto um por um.
Observe que se algum dos arquivos da pasta já estiver aberto, esses arquivos simplesmente permanecerão abertos.
Nota : Você pode encontrar a documentação completa para o método Workbooks.Open em VBA aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:
Como renomear um arquivo usando VBA
Como listar arquivos em uma pasta usando VBA
Como verificar se o arquivo existe usando VBA