엑셀 VBA 매크로를 사용하여 특정 선택 영역만 인쇄하는 방법(예제 2가지)

엑셀에서 시트의 특정 선택한 영역만 인쇄하는 방법은 이전 포스팅 글에서 한번 다루어 본 적이 있습니다.

관련 내용은 엑셀에서 특정 영역 부분만 선택해서 인쇄하는 방법에서 확인할 수 있습니다.

엑셀 페이지 레이아웃 메뉴에서 인쇄 영역 설정을 통해 원하는 선택 영역을 인쇄할 수 있는 방법과 별도로 엑셀 VBA 매크로를 사용하여 선택한 영역을 인쇄할 수도 있습니다.

이번 글에서는 엑셀 VBA 매크로를 사용하여 특정 선택 영역만 인쇄하는 방법(예제 2가지)에 대해 알아보겠습니다.

엑셀 VBA 매크로 사용이 익숙하지 않는 분은 엑셀에서 VBA(매크로)를 처음으로 시작할 때 참고하세요. 글을 먼저 읽어 보시면 도움이 됩니다.

엑셀 VBA 매크로 Selection 개념 이해

엑셀 VBA에서 선택 영역만 인쇄하는 프로그램을 설명하기에 앞서 Selection 이라는 속성에 대해 먼저 알아보고자 합니다.

Selection활성 워크시트에서 선택된 개체를 반환해 주는 선택 속성 입니다.
선택된 개체가 없으면 아무것도 반환하지 않습니다.

엑셀 VBA 매크로 Selection 개념 이해

아래는 Selection에서 많이 사용하는 세부 속성에 대한 설명입니다.

  • Selection.Row : 선택한 영역의 첫 번째 행의 위치를 반환합니다.
  • Selection.Rows : 선택된 행들을 반환합니다.
  • Selection.Rows.Count : 선택된 행의 수를 반환합니다.
  • Selection.Columns : 선택된 열을 반환합니다.
  • Selection.Columns.Count : 선택된 열의 수를 반환합니다.
  • Selection.Clear : 선택된 영역의 내용과 서식을 모두 지웁니다.
  • Selection.ClearContents : 선택된 영역의 내용만 모두 지웁니다.
  • Selection.Copy : 선택된 영역을 복사합니다.
  • Selection.EntireRow.Delete : 선택된 행을 삭제합니다.
  • Selection.EntireColumn.Delete : 선택된 열을 삭제합니다.

여기에 기술하지 않는 세부 속성들도 많이 있으니 필요한 경우 찾아서 적용해 보시면 됩니다.

엑셀 VBA 매크로를 사용하여 선택한 영역만 인쇄하는 방법 1

가장 간단하게 사용할 수 있는 방법입니다.

  • Selection.PrintOut Copies:=1 : 곧바로 프린트 장치로 선택된 영역을 인쇄합니다.
  • Selection.PrintPreview : 선택한 영역을 미리 보기로 인쇄합니다. 미리 보기 화면에서 인쇄할 수 있습니다.
‘선택한 시트 영역만 인쇄
Sub PrintSelectedArea()
 
    ‘Print out(바로 출력)
    Selection.PrintOut Copies:=1
 
    ‘Preview
    Selection.PrintPreview
 
End Sub

엑셀 VBA 매크로를 사용하여 선택한 영역만 인쇄하는 방법 2

다음은 프린트 셋팅을 설정해서 선택한 영역을 인쇄하는 방법입니다.

  • ActiveSheet는 활성 워크시트의 선택 영역을 인쇄하기 위해 선언해 주었습니다.
  • .PageSetup.PrintArea : 인쇄할 영역을 지정합니다.
  • .PrintPreview : 미리 보기 화면으로 인쇄합니다.
    곧바로 프린트로 인쇄하려면 .PrintOut을 지정해 주면 됩니다.
  • selectedRange는 Selection의 개체의 받는 Range 변수 입니다. 생략 가능합니다.
  • Dim, Set 구문을 생략할 경우, .PageSetup.PrintArea = Selection.Address 라고 직접 Selection 개체를 PrintArea에 넣어주면 됩니다.
‘선택한 시트 영역만 인쇄
Sub PrintSelectedArea()
 
    ‘Set print settings
    Dim selectedRange As Range
    Set selectedRange = Selection
    
    With ActiveSheet
        .PageSetup.PrintArea = selectedRange.Address
        .PrintPreview
    End With
 
End Sub

마무리

앞에서 설명한 두 가지 방법의 실행 결과 입니다.

▼ A3에서 D7까지 영역만 선택했을 때 입니다.

엑셀 VBA 매크로를 사용하여 특정 선택 영역만 인쇄하는 방법 1

▼ 선택한 영역만 인쇄된 미리보기 화면입니다.

엑셀 VBA 매크로를 사용하여 특정 선택 영역만 인쇄하는 방법 2

정말 간단하게 엑셀 VBA의 매크로를 사용하여 선택한 영역만 인쇄하는 방법에 대해서 알아보았습니다.

VBA로 구현할 때의 장점은 VBA 프로그램에서 추가적인 작업이 가능하다는 것입니다.
여기에서 설명한 내용은 정말 간단하고 기본적인 내용이지만 알아두면 다양한 방법으로 응용도 할 수 있으니 꼭 기억해 두고 활용해 보시기 바랍니다.





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기