본문 바로가기

Slack 채널 정리

여러 엑셀 파일의 sheet 통합하기

도움 요청받아 엑셀 매크로 짜보았(다고 하기에는 그렇고 구글링해서 찾은 소스 아주 조금 손보았)습니다. 특정 폴더 안에 있는 모든 엑셀 파일에 있는 'List'란 이름의 시트를 'msheet'라는 현재 열어놓은 엑셀 파일의 시트에 통합하는 기능입니다.

Sub xlsMerger()
    Dim bookList As Workbook
    Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object
    Application.ScreenUpdating = False
    Set mergeObj = CreateObject("Scripting.FileSystemObject")
 
    Set mainworkBook = ActiveWorkbook
    mainworkBook.Sheets("msheet").Range("A2:IV65536").Clear
    
    Set dirObj = mergeObj.Getfolder("D:\tmp\xl_test")
    Set filesObj = dirObj.Files
    For Each everyObj In filesObj
        Set bookList = Workbooks.Open(everyObj)
     
        Worksheets("List").AutoFilterMode = False
		Worksheets("List").Range("A2:IV" & Range("A65536").End(xlUp).Row).Copy
        ThisWorkbook.Sheets("msheet").Activate

        Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial
        Application.CutCopyMode = False
        bookList.Close
    Next
End Sub

'Slack 채널 정리' 카테고리의 다른 글

groovy - snake to camel  (0) 2019.11.26
vim 에서 snake, camel 변환  (0) 2019.11.26
go template 이용한 간단한 소스 제너레이터  (0) 2019.11.26
[Go]Snake to Camel  (0) 2019.11.26
파일명의 접두어 일괄 바꾸기  (0) 2019.11.26