Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

일반적으로 엑셀(Excel)에서 라벨을 인쇄하려면 스프레드시트 데이터를 워드(Word)의 편지 병합 기능과 연동해야 합니다. 하지만 모든 작업을 엑셀 안에서만 처리하고 싶은 분들도 있습니다. 다행히도 워드를 거치지 않고 엑셀만으로 라벨을 인쇄할 수 있는 방법이 있습니다. 이 글에서는 그 방법을 단계별로 자세히 소개합니다.

워드 없이 엑셀에서 라벨 인쇄하기: 단계별 방법

마이크로소프트 워드 없이 엑셀에서 직접 라벨을 인쇄하려면, 적절한 라벨 크기에 맞춰 엑셀 시트 자체를 인쇄하면 됩니다. 핵심은 셀 크기를 라벨 규격에 맞게 조정하는 것인데, 이 작업을 자동으로 처리하도록 VBA 코드를 활용합니다.

먼저 다음과 같은 데이터셋이 있다고 가정해 보겠습니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

각 데이터를 라벨 형태로 변환한 뒤, 워드의 도움 없이 엑셀에서 바로 인쇄하는 것이 목표입니다.

엑셀에서 VBA(Visual Basic for Applications)를 사용하려면 먼저 리본 메뉴에 개발 도구 탭을 표시해야 합니다. 개발 도구 탭 표시 방법은 관련 가이드를 참고하세요. 준비가 되었다면 아래 단계를 따라 진행해 보세요.

1단계: 데이터를 새 시트에 복사

VBA 코드가 정상적으로 작동하려면 셀 데이터가 반드시 A1 셀부터 시작되어야 합니다. 따라서 라벨로 만들 데이터가 A1 셀이 아닌 곳(예: B5 셀)에 있다면, 먼저 새 시트에 복사해서 맨 처음 위치로 옮겨야 합니다. 아래와 같은 형태가 되어야 합니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

이제 VBA 코드를 실행할 준비가 완료되었습니다.

2단계: VBA 코드 삽입

다음으로, 라벨을 원하는 크기와 형태로 조정하기 위한 VBA 코드를 삽입해야 합니다. 코드를 삽입하는 방법은 다음과 같습니다.

  • 리본 메뉴에서 개발 도구 탭으로 이동합니다.
  • 코드 그룹에서 Visual Basic을 선택합니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

  • VBA 창이 열리면 상단의 삽입 메뉴를 클릭하고 드롭다운 목록에서 모듈(Module)을 선택합니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

  • 새로 열린 모듈에 아래 코드를 입력합니다.
'This Code Will Create Labels in Excel
Sub Createlabels()
 Application.Run "AskForColumn"
 
 Cells.Select
 Selection.RowHeight = 75.75
 Selection.ColumnWidth = 34.14
 With Selection
 .HorizontalAlignment = xlCenter
 .VerticalAlignment = xlBottom
 .WrapText = True
 .Orientation = 0
 .AddIndent = False
 .IndentLevel = 0
 .ShrinkToFit = False
 .ReadingOrder = xlContext
 .MergeCells = False
 End With
 With Selection
 .HorizontalAlignment = xlCenter
 .VerticalAlignment = xlCenter
 .WrapText = True
 .Orientation = 0
 .AddIndent = False
 .IndentLevel = 0
 .ShrinkToFit = False
 .ReadingOrder = xlContext
 .MergeCells = False
 End With
 
End Sub
Sub AskForColumn()
Dim refrg As Range
Dim vrb As Long
Dim dat As Long
Set refrg = Cells(Rows.Count, 1).End(xlUp)
dat = 1
On Error Resume Next
incolno = InputBox("Enter Number of Columns Desired")
For vrb = 1 To refrg.Row Step incolno
Cells(dat, "A").Resize(1, incolno).Value = _
Application.Transpose(Cells(vrb, "A").Resize(incolno, 1))
dat = dat + 1
Next
Range(Cells(dat, "A"), Cells(refrg.Row, "A")).ClearContents
End Sub

🔎 코드 설명

이 VBA 코드는 두 개의 프로시저(Sub)로 구성되어 있습니다. 하나는 CreateLabel, 다른 하나는 AskForColumn입니다. 먼저 AskForColumn 프로시저의 동작 원리를 살펴본 후, CreateLabel 프로시저가 어떻게 작동하는지 설명하겠습니다.

파트 1: AskForColumn 프로시저

이해를 돕기 위해 코드를 여러 섹션으로 나누어 설명합니다.

👉 섹션 1: 프로시저 이름 AskForColumn을 선언하는 부분입니다.

👉 섹션 2: 세 개의 변수(refrg, vrb, dat)를 선언하는 부분입니다.

👉 섹션 3: refrg와 dat 변수에 값을 할당하는 부분입니다.

👉 섹션 4: 이 지점에서 입력 상자(InputBox)가 스프레드시트 화면에 나타납니다.

👉 섹션 5: 입력 상자에 입력한 값만큼 For 반복문이 실행됩니다.

👉 섹션 6: 셀 크기를 재조정(resize)하는 부분입니다.

👉 섹션 7: 마지막으로 불필요한 내용을 삭제(clear)하는 부분입니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

파트 2: Createlabels 프로시저

앞선 파트와 마찬가지로 이 프로시저 역시 여러 섹션으로 나누어 설명합니다.

👉 섹션 1: 프로시저 이름 Createlabels를 선언하는 부분입니다.

👉 섹션 2: 앞서 정의한 AskForColumn 프로시저를 호출하여 실행하는 명령문입니다.

👉 섹션 3: VBA의 Cells 속성을 사용해 각 셀의 서식을 지정하는 부분입니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

3단계: VBA 코드 실행

코드 입력을 마쳤으면 VBA 창을 닫습니다. 이제 코드를 실행하려면 다음 단계를 따르세요.

  • 먼저 리본 메뉴에서 개발 도구 탭으로 이동합니다.
  • 코드 그룹에서 매크로(Macros)를 선택합니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

  • 매크로 대화상자가 열리면 매크로 이름 목록에서 Createlables를 선택합니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

  • 실행(Run) 버튼을 클릭합니다.
  • 원하는 열(column) 수를 입력합니다. 예시에서는 3열을 선택했습니다. 입력 후 확인(OK)을 누릅니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

그러면 스프레드시트가 자동으로 다음과 같이 변환됩니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

이제 워드 없이 엑셀에서 바로 인쇄할 수 있는 라벨이 완성되었습니다.

추천 글: 엑셀에서 Avery 라벨 인쇄하는 방법

4단계: 사용자 지정 여백 설정

라벨을 제대로 인쇄하려면 페이지 여백을 올바르게 설정해야 합니다. 여백 설정 시 라벨 위치가 어긋나거나 일부 라벨이 잘리지 않도록 적절한 크기를 선택해야 합니다. 사용자 지정 여백을 설정하는 방법은 다음과 같습니다.

  • 먼저 리본 메뉴에서 페이지 레이아웃 탭으로 이동합니다.
  • 그림과 같이 페이지 설정(Page Setup) 버튼을 클릭합니다. 각 그룹의 오른쪽 하단에 있는 작은 화살표 버튼입니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

  • 페이지 설정 대화상자가 열리면 여백(Margins) 탭으로 이동합니다.
  • 인쇄할 페이지에 맞는 여백 값을 입력합니다. 예시에서는 아래와 같이 설정했습니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

  • 설정을 마쳤으면 확인(OK)을 클릭합니다.

5단계: 인쇄 배율 옵션 선택

라벨 인쇄 시 적절한 배율 조정도 매우 중요합니다. 예를 들어 지금까지 설정한 상태로 인쇄 미리보기를 보면 다음과 같이 나타날 수 있습니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

이것은 우리가 원하는 결과가 아닙니다. 시트 전체를 한 페이지에 맞추어야 합니다. 방법은 다음과 같습니다.

  • 키보드에서 Ctrl+P를 눌러 인쇄 미리보기 화면으로 이동합니다.
  • 화면 왼쪽 하단의 설정(Settings) 항목에서 맨 아래에 있는 배율(Scaling) 옵션을 찾습니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

  • 배율 옵션을 클릭하고 드롭다운 목록에서 시트를 한 페이지에 맞춤(Fit Sheet on One Page)을 선택합니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

이제 라벨의 배율 조정이 완료되었습니다.

추천 글: 엑셀에서 주소 라벨 인쇄하는 방법

6단계: 스프레드시트 인쇄

인쇄 미리보기 화면에 있는 상태에서 화면 왼쪽 상단의 인쇄(Print) 버튼을 클릭합니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

버튼을 누르면 워드의 도움 없이 엑셀에서 모든 라벨이 인쇄됩니다.

엑셀에서 워드 없이 바로 라벨 인쇄하는 방법: VBA 매크로 완벽 가이드

주의사항

👉 VBA 코드를 실행하기 전에 모든 라벨 데이터가 A1 셀부터 시작하는지 확인하세요.

👉 인쇄하기 전에 여백과 배율을 적절히 설정해야 모든 라벨이 페이지 안에 들어갑니다. 그렇지 않으면 일부 라벨이 잘릴 수 있습니다.

👉 VBA 코드로 수행한 작업은 되돌릴 수 없습니다. 실행 전에 반드시 중요한 데이터를 백업해 두세요.

연습용 통합 문서 다운로드

인쇄 가능한 라벨이 포함된 파일입니다.

마무리

지금까지 워드나 편지 병합 기능 없이 엑셀만으로 라벨을 인쇄하는 방법을 알아보았습니다. 이 가이드를 통해 워드 없이도 엑셀에서 라벨을 손쉽게 인쇄할 수 있기를 바랍니다. 궁금한 점이나 추가하고 싶은 내용이 있다면 댓글로 알려주세요.

이 외에 더 많은 엑셀 활용 팁이 필요하다면 Exceldemy를 방문해 보세요.

함께 읽으면 좋은 글

  • 엑셀 데이터를 워드에서 라벨로 인쇄하는 방법
  • 엑셀에서 Avery 5160 라벨 인쇄하는 방법
  • 엑셀에서 Avery 8160 라벨 인쇄하는 방법

<< 엑셀 라벨 인쇄 | 엑셀 우편 라벨 | 엑셀 편지 병합 | 엑셀 배우기