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