일반적으로 엑셀(Excel)에서 라벨을 인쇄하려면 스프레드시트 데이터를 워드(Word)의 편지 병합 기능과 연동해야 합니다. 하지만 모든 작업을 엑셀 안에서만 처리하고 싶은 분들도 있습니다. 다행히도 워드를 거치지 않고 엑셀만으로 라벨을 인쇄할 수 있는 방법이 있습니다. 이 글에서는 그 방법을 단계별로 자세히 소개합니다.
워드 없이 엑셀에서 라벨 인쇄하기: 단계별 방법
마이크로소프트 워드 없이 엑셀에서 직접 라벨을 인쇄하려면, 적절한 라벨 크기에 맞춰 엑셀 시트 자체를 인쇄하면 됩니다. 핵심은 셀 크기를 라벨 규격에 맞게 조정하는 것인데, 이 작업을 자동으로 처리하도록 VBA 코드를 활용합니다.
먼저 다음과 같은 데이터셋이 있다고 가정해 보겠습니다.

각 데이터를 라벨 형태로 변환한 뒤, 워드의 도움 없이 엑셀에서 바로 인쇄하는 것이 목표입니다.
엑셀에서 VBA(Visual Basic for Applications)를 사용하려면 먼저 리본 메뉴에 개발 도구 탭을 표시해야 합니다. 개발 도구 탭 표시 방법은 관련 가이드를 참고하세요. 준비가 되었다면 아래 단계를 따라 진행해 보세요.
1단계: 데이터를 새 시트에 복사
VBA 코드가 정상적으로 작동하려면 셀 데이터가 반드시 A1 셀부터 시작되어야 합니다. 따라서 라벨로 만들 데이터가 A1 셀이 아닌 곳(예: B5 셀)에 있다면, 먼저 새 시트에 복사해서 맨 처음 위치로 옮겨야 합니다. 아래와 같은 형태가 되어야 합니다.

이제 VBA 코드를 실행할 준비가 완료되었습니다.
2단계: VBA 코드 삽입
다음으로, 라벨을 원하는 크기와 형태로 조정하기 위한 VBA 코드를 삽입해야 합니다. 코드를 삽입하는 방법은 다음과 같습니다.
- 리본 메뉴에서 개발 도구 탭으로 이동합니다.
- 코드 그룹에서 Visual Basic을 선택합니다.

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

- 새로 열린 모듈에 아래 코드를 입력합니다.
'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)하는 부분입니다.

파트 2: Createlabels 프로시저
앞선 파트와 마찬가지로 이 프로시저 역시 여러 섹션으로 나누어 설명합니다.
👉 섹션 1: 프로시저 이름 Createlabels를 선언하는 부분입니다.
👉 섹션 2: 앞서 정의한 AskForColumn 프로시저를 호출하여 실행하는 명령문입니다.
👉 섹션 3: VBA의 Cells 속성을 사용해 각 셀의 서식을 지정하는 부분입니다.

3단계: VBA 코드 실행
코드 입력을 마쳤으면 VBA 창을 닫습니다. 이제 코드를 실행하려면 다음 단계를 따르세요.
- 먼저 리본 메뉴에서 개발 도구 탭으로 이동합니다.
- 코드 그룹에서 매크로(Macros)를 선택합니다.

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

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

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

이제 워드 없이 엑셀에서 바로 인쇄할 수 있는 라벨이 완성되었습니다.
추천 글: 엑셀에서 Avery 라벨 인쇄하는 방법
4단계: 사용자 지정 여백 설정
라벨을 제대로 인쇄하려면 페이지 여백을 올바르게 설정해야 합니다. 여백 설정 시 라벨 위치가 어긋나거나 일부 라벨이 잘리지 않도록 적절한 크기를 선택해야 합니다. 사용자 지정 여백을 설정하는 방법은 다음과 같습니다.
- 먼저 리본 메뉴에서 페이지 레이아웃 탭으로 이동합니다.
- 그림과 같이 페이지 설정(Page Setup) 버튼을 클릭합니다. 각 그룹의 오른쪽 하단에 있는 작은 화살표 버튼입니다.

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

- 설정을 마쳤으면 확인(OK)을 클릭합니다.
5단계: 인쇄 배율 옵션 선택
라벨 인쇄 시 적절한 배율 조정도 매우 중요합니다. 예를 들어 지금까지 설정한 상태로 인쇄 미리보기를 보면 다음과 같이 나타날 수 있습니다.

이것은 우리가 원하는 결과가 아닙니다. 시트 전체를 한 페이지에 맞추어야 합니다. 방법은 다음과 같습니다.
- 키보드에서 Ctrl+P를 눌러 인쇄 미리보기 화면으로 이동합니다.
- 화면 왼쪽 하단의 설정(Settings) 항목에서 맨 아래에 있는 배율(Scaling) 옵션을 찾습니다.

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

이제 라벨의 배율 조정이 완료되었습니다.
추천 글: 엑셀에서 주소 라벨 인쇄하는 방법
6단계: 스프레드시트 인쇄
인쇄 미리보기 화면에 있는 상태에서 화면 왼쪽 상단의 인쇄(Print) 버튼을 클릭합니다.

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

주의사항
👉 VBA 코드를 실행하기 전에 모든 라벨 데이터가 A1 셀부터 시작하는지 확인하세요.
👉 인쇄하기 전에 여백과 배율을 적절히 설정해야 모든 라벨이 페이지 안에 들어갑니다. 그렇지 않으면 일부 라벨이 잘릴 수 있습니다.
👉 VBA 코드로 수행한 작업은 되돌릴 수 없습니다. 실행 전에 반드시 중요한 데이터를 백업해 두세요.
연습용 통합 문서 다운로드
인쇄 가능한 라벨이 포함된 파일입니다.
마무리
지금까지 워드나 편지 병합 기능 없이 엑셀만으로 라벨을 인쇄하는 방법을 알아보았습니다. 이 가이드를 통해 워드 없이도 엑셀에서 라벨을 손쉽게 인쇄할 수 있기를 바랍니다. 궁금한 점이나 추가하고 싶은 내용이 있다면 댓글로 알려주세요.
이 외에 더 많은 엑셀 활용 팁이 필요하다면 Exceldemy를 방문해 보세요.
함께 읽으면 좋은 글
- 엑셀 데이터를 워드에서 라벨로 인쇄하는 방법
- 엑셀에서 Avery 5160 라벨 인쇄하는 방법
- 엑셀에서 Avery 8160 라벨 인쇄하는 방법
<< 엑셀 라벨 인쇄 | 엑셀 우편 라벨 | 엑셀 편지 병합 | 엑셀 배우기