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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *