Vba: 다른 통합 문서에서 데이터를 추출하는 방법


VBA에서 다음 구문을 사용하여 다른 통합 문서에서 데이터를 추출할 수 있습니다.

 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

이 특정 매크로는 다음 위치에 있는 my_data.xlsx 라는 통합 문서를 엽니다.

C:\Users\Bob\Desktop\my_data.xlsx

그런 다음 Sheet1 이라는 시트의 모든 데이터를 이 통합 문서에 복사하고 현재 활성 통합 문서의 첫 번째 시트 바로 뒤에 있는 시트에 복사합니다.

참고 : Application.ScreenUpdating = False 행은 VBA에게 이 프로세스가 더 빠르게 실행되도록 백그라운드에서 이 프로세스를 실행하도록 지시합니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: VBA를 사용하여 다른 통합 문서에서 데이터 추출

다음 Excel 통합 문서가 열려 있고 이를 보고 있다고 가정해 보겠습니다.

이제 다른 통합 문서가 닫혀 있지만 다음 데이터가 포함되어 있다고 가정합니다.

다음 매크로를 사용하여 닫힌 통합 문서의 시트 1 에서 데이터를 추출하고 현재 열려 있는 통합 문서의 첫 번째 시트 바로 뒤의 새 시트에 붙여넣을 수 있습니다.

 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

이 매크로를 실행하면 다음과 같은 출력이 나타납니다.

닫힌 통합 문서의 데이터가 추출되어 현재 활성화된 통합 문서에 새 시트로 붙여넣어졌습니다.

새 시트의 이름은 현재 시트와 동일하므로 자유롭게 이름을 바꾸십시오.

추가 리소스

다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

VBA: 통합 문서의 시트 수를 계산하는 방법
VBA: 여러 열을 삽입하는 방법
VBA:여러 줄을 삽입하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다