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