상세 컨텐츠

본문 제목

엑셀 하나의 출력폼으로 바코드를 포함한 여러 데이터 인쇄하는 방법 - 매크로와 바코드폰트 사용

알쓸신잡

by 블랙캣 2021. 9. 3. 11:35

본문

728x90
반응형
반응형

라벨 한 두장 소량 인쇄할때는 문제가 되지 않지만 수십건 이상 대량으로 라벨을 인쇄해야 한다면 각각의 라벨을 디자인하는데 많은 시간이 필요하고 문서 길이도 많이 길어지는 문제가 있습니다.

 

바텐더, 제브라디자이너, 라벨뷰, 나이스라벨 등 여러가지 바코드 라벨 출력 프로그램들이 엑셀파일을 연동하여 출력하는 것을 지원하지만 유료버전을 사용해야 합니다. 프로그램 비용도 수십 만원씩 하기 때문에 이 방법을 사용하시면 재정적인 면에 도움이 되실거라 생각됩니다.

 


엑셀의 매크로 기능을 사용하여 고정된 출력폼에 데이터 목록에 있는 값들을 참조하여 인쇄하는 방법을 알아보겠습니다.


https://blog.naver.com/devchief76/222492747264

바코드 인쇄하는 방법은 이전 포스팅에서 바코드 프린터 드라이버에 바코드 폰트를 설정하여 바코드를 인쇄하는 방법을 참고해 주시면 됩니다.


 

인쇄할 데이터 목록 입니다. 시트 이름을 "자료" 로 변경 했습니다.


고정된 폼으로 사용할 시트를 설정하겠습니다.

시트 이름은 "폼" 으로 변경했습니다.

제품명 부분은 일반폰트를 적용한 상태이고 바코드인쇄할 부분은 프린터드라이버에 설정된 바코드폰트가 적용되어 있는 상태입니다.

인쇄할 부분을 선택하여 인쇄영역 설정을 해 주어 필요없는 부분이 인쇄되지 않도록 합니다.


미리보기 하면 이렇게 보입니다.


매크로 실행 시작 버튼으로 사용할 도형을 하나 만듭니다.


버튼에 인쇄라고 글자도 넣고 버튼처럼 보이게 효과도 줬습니다.


폼 시트에 만들어 놓은 인쇄버튼에 마우스 오른쪽 버튼을 클릭하여 "매크로 지정" 을 클릭합니다.


새로 만들기를 클릭합니다.


VBA 프로그램이 실행되고 모서리가 둥근 사각형을 클릭했을때 작동하는 명령어를 입력하는 창이 나옵니다.


Sub 모서리가둥근직사각형1_Click()

      Dim i As integer
      Set 자료 = Sheets("자료") Set 폼 = Sheets("폼")
      For i = 2 To 8                                   '// 자료 시트 2번째 부터 8번째 까지 반복
            폼.Cells(1, "a") = 자료.Cells(i, "a")     '// 폼 시트 제품명(A1) 셀에 자료 시트 A열(제품명)값 적용
            폼.Cells(2, "a") = 자료.Cells(i, "b")     '// 폼 시트 바코드(A2) 셀에 자료 시트 B열(바코드)값 적용
            폼.PrintOut '// 폼 시트 인쇄
      Next

End Sub

위 와 같이 코드를 입력합니다.

 


코드 입력후 파일 메뉴에 있는 VBA 를 닫습니다.


이제 인쇄 버튼을 클릭하면 매크로가 실행되며 라벨이 인쇄됩니다.

 

 

 

참 쉽죠~

728x90
반응형

관련글 더보기

댓글 영역