엑셀 VBA(매크로) - 여러파일 데이터 자동으로 가져오기
본문 바로가기
엑셀 컴퓨터 인터넷/엑셀 VBA

엑셀 VBA(매크로) - 여러파일 데이터 자동으로 가져오기

by Squat Lee 2020. 11. 20.

VBA를 통해서 여러개의 엑셀파일의 데이터를 한꺼번에 가져오는 코드입니다.

 


Files = Application.GetOpenFilename(MultiSelect:=True)

# 대화창을 열어서 파일을 선택할 수 있게 하는 코드입니다. 'MultiSelect:=True'면 여러개 파일을 선택할 수 있습니다.

 

On Error Resume Next

# 에러가 나면 다음을 진행해라는 얘기죠

 

For I = 1 To UBound(Files)

#'UBound'라는 함수안에 위에서 선택한 'Files'가 들어갑니다. 이러한 파일들은 첫번째(1) 부터 순차적으로 반복한다는 얘기입니다.

 

    Set File = Workbooks.Open(Filename:=Files(I), ReadOnly:=True)

# 'File'은 순차적으로 열리는 하나의 파일을 '읽기전용'으로 열어서 'File'이라는 변수에 저장합니다.

 

    Set shO = ThisWorkbook.Sheets(1)

    Set shC = File.Sheets(1)

# 그리고 지금 매크로가 포함된 엑셀파일의 Sheets는 'shO'라고 정하고, 데이터를 복사할 파일의 Sheet를 'shC'라고 정합니다.

 

    shO.cells(1,1) = shC.cells(1,1)

#복사할 셀을 입력할 셀에 넣습니다.

 

    File.Close

#작업이 끝난 파일을 닫습니다.

 

Next  F

# For 반복문을 종료합니다.


이런 구조로 되어있는데, 안에 함수라던지 반복문들을 사용해서 활용할 수 있습니다.

728x90
반응형

댓글