Vba: como extrair dados de outra pasta de trabalho


Você pode usar a seguinte sintaxe em VBA para extrair dados de outra pasta de trabalho:

 SubExtractData ()
    
    'turn off screen updates to make this run faster
    Application.ScreenUpdating = False
    
    'specify workbook we want to extract data from
    Set wb = Workbooks.Open(" C:\Users\bobbi\OneDrive\Desktop\my_data.xlsx ")
    
    'extract all data from Sheet1 and paste as new sheet in current workbook
    wb.Sheets(" Sheet1 ").Copy After:=ThisWorkbook.Sheets(1)
    
    'do not save any changes to workbook we extract data from
    wb.Close SaveChanges:=False
    
    'turn screen updating back on
    Application.ScreenUpdating = True
    
End Sub

Esta macro específica abre a pasta de trabalho chamada my_data.xlsx localizada no seguinte local:

C:\Usuários\Bob\Desktop\meus_dados.xlsx

Em seguida, ele copia todos os dados da planilha chamada Plan1 para esta pasta de trabalho e os copia na planilha diretamente após a primeira planilha em nossa pasta de trabalho atualmente ativa.

Nota : A linha Application.ScreenUpdating = False informa ao VBA para executar esse processo em segundo plano para que ele seja executado mais rapidamente.

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: Extraia dados de outra pasta de trabalho usando VBA

Digamos que temos a seguinte pasta de trabalho do Excel aberta e a estamos visualizando:

Agora suponha que temos outra pasta de trabalho fechada, mas contendo os seguintes dados:

Podemos usar a seguinte macro para extrair os dados da planilha 1 desta pasta de trabalho fechada e colá-los em uma nova planilha diretamente após a primeira planilha de nossa pasta de trabalho atualmente aberta:

 SubExtractData ()
    
    'turn off screen updates to make this run faster
    Application.ScreenUpdating = False
    
    'specify workbook we want to extract data from
    Set wb = Workbooks.Open(" C:\Users\bobbi\OneDrive\Desktop\my_data.xlsx ")
    
    'extract all data from Sheet1 and paste as new sheet in current workbook
    wb.Sheets(" Sheet1 ").Copy After:=ThisWorkbook.Sheets(1)
    
    'do not save any changes to workbook we extract data from
    wb.Close SaveChanges:=False
    
    'turn screen updating back on
    Application.ScreenUpdating = True
    
End Sub

Quando executamos esta macro, recebemos a seguinte saída:

Observe que os dados da pasta de trabalho fechada foram extraídos e colados como uma nova planilha em nossa pasta de trabalho atualmente ativa.

Sinta-se à vontade para renomear a nova planilha, pois ela é idêntica à planilha atual.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

VBA: Como contar o número de planilhas em uma pasta de trabalho
VBA: como inserir múltiplas colunas
VBA: como inserir múltiplas linhas

Add a Comment

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