목적

: 특정 폴더내 모든 엑셀파일을 열어 마스터 파일의 시트를 복사후 저장하기

 

실행결과

: 폴더내 모든 파일내 동일 시트 복사됨

 

코드

Sub make_job_report()

    Application.DisplayAlerts = False  '경고 메시지 표시하지 않기

    Dim wb As Workbook
    Dim template_sheet, format_sheet As Worksheet
    Dim file_name As String
    Dim template_row As Integer, template_col As Integer
    Dim i, j, k As Integer
        
    Set format_sheet = Sheets("TEST") 'TEST 시트를 폴더내 다른 파일에 붙여 넣을 것임
    

    file_name = "TempFIle"
    
    
    Dim Filename, Pathname As String

    Dim wbOpen As Workbook

    Pathname = "D:\폴더\"

    Filename = Dir(Pathname & "*.xlsx")

    Do While Filename <> ""

        Set wbOpen = Workbooks.Open(Pathname & Filename) '새로 열 파일의 워크북

        format_sheet.Copy Before:=wbOpen.Sheets(1)

        wbOpen.Close SaveChanges:=True '작업 파일, 작업 후 저장. 저장하지 않을 경우 False

        Filename = Dir()

    Loop
    
End Sub

설정

트랙백

댓글