0. 예전에 인쇄영역을 설정해놓은 엑셀파일을 읽어와서 새 엑셀파일에 적용하기 위한 매크로이다. 같은 이름의 시트에 인쇄영역이 복사된다.

1. 새롭게 인쇄영역을 설정하고자 하는 파일을 연다.

2. 매크로를 사용하기 위해 '개발도구'를 리본메뉴에 추가해야 한다.

엑셀 -> 파일 -> 옵션 -> 리본 사용자 지정에서 개발도구에 체크한다.


3. 메뉴에 추가된 개발도구로 이동하여 '매크로'를 클릭한다.
매크로 이름에 test라고 입력하고 만들기를 클릭한다.
매크로 편집창에 자동으로 두어줄 입력되는건 지워버리고, 아래와 같이 입력한다.
개발도구 -> 매크로 -> "인쇄영역불러오기" 매크로를 실행한다.
매크로를 실행하면 파일 열기 창이 뜨는데, 인쇄영역을 불러올 기존 파일을 선택해주면 된다.


Function SheetExists(SheetName As String, Optional wb As Excel.Workbook)
   Dim s As Excel.Worksheet
   If wb Is Nothing Then Set wb = ThisWorkbook
   On Error Resume Next
   Set s = wb.Sheets(SheetName)
   On Error GoTo 0
   SheetExists = Not s Is Nothing
End Function



Sub 인쇄영역불러오기()
    Dim wb As Workbook, wbSrc As Workbook
    Dim ws As Worksheet
    Dim vFile As Variant

    Set wb = ActiveWorkbook
    vFile = Application.GetOpenFilename("Excel-files, *.xls;*.xlsx", 1, "인쇄 영역이 지정된 기존 파일을 선택하세요", , False)
    If TypeName(vFile) = "Boolean" Then Exit Sub
    Workbooks.Open vFile
    Set wbSrc = ActiveWorkbook
    
    For Each wsSrc In wbSrc.Worksheets
        If SheetExists(wsSrc.Name, wb) Then
            Set ws = wb.Sheets(wsSrc.Name)
            ws.PageSetup.PrintArea = wsSrc.PageSetup.PrintArea
        End If
    Next wsSrc
End Sub




예제.zip