본문 바로가기
지난 게시글

[VBA] 엑셀 자동으로 인쇄하기, 똑똑하게 업무 Do While

by yyDandy 2023. 5. 7.
반응형

안녕하세요. yyDandy입니다.


오늘은 엑셀 VBA를 이용해서 자동으로 인쇄하는 걸 알려드릴게요 ! 우선 평소에 어떻게 인쇄하는지 살펴볼게요 ! 보통 인쇄를 하실 때는 [파일] - [인쇄] 를 누르시거나 Ctrl + P를 통해 인쇄를 하셨을텐데요. 그런데 이런 상황에는 어떻게 할까요?

 

 

이렇게 안내문을 보내려고 하는데 받는 사람만 달라지고 내용은 같은 경우에요. 이렇게 적은 인원에게 보낼 때는 당연하게도 그냥 인쇄를 누르는 게 빠르지만, 100명이 넘어가는 경우가 많죠. 특히 회사에서는 이렇게 하시다간 당연히.. 욕을 먹습니다!! 그럴 때 쓰는 방법을 알려드릴게요. 바로 Do While문인데요.

 

가장 먼저 할 일은 받는 사람에 수식을 걸어주는 것인데요. 이렇게 하면 절반은 다했습니다! 보시면 B2에 수식이 걸려 있고, 이제 인쇄를 누를 때마다 B2 값이 바뀌면 되겠죠? 일단 위 사진에서는 yyDandy가 참조되어 있으니 B2=1 이고, 인쇄를 한 번 눌렀을 때는 2가 되고, 그 다음에는 3이 되면 되는 거에요.

=VLOOKUP(B2,$G$3:$H$5,2,0)

 

 

 

[개발도구] - [단추] 를 삽입한 후에 [매크로 지정] - [기록]으로 들어 가주세요.

 

여기서 개발도구 탭이 없는 경우에는 아래 포스팅을 참고 해주세요!

2023.02.20 - [코딩/매크로&VBA] - [VBA] 엑셀 매크로 & VBA 기초(매크로 환경 설정, 자동 날짜 변환, 매크로 소스 코드 얻기)

 

[VBA] 엑셀 매크로 & VBA 기초(매크로 환경 설정, 자동 날짜 변환, 매크로 소스 코드 얻기)

안녕하세요. yyDandy 입니다. 1. VBA 기초 1.1 환경설정 오늘은 엑셀 매크로 & VBA 기초에 대해 알려드릴게요 ! 실무에서 쓰일 수 있는 내용들부터 자동화를 통한 업무의 효율성을 높일 수 있는 부분까

yydandy.tistory.com

 

그 다음에는 매크로 기록을 쭉쭉 넘기고 아래에서 기록 중지를 눌러주세요.

 

반응형

 

 

중지 후에는 편집을 눌러서 안에서 아래 코드를 그대로 복사해서 넣어줄게요.

i = 0
Do While i < 30:
i = i + 1
ThisWorkbook.PrintPreview
ActiveSheet.Range("B2") = i
Loop

 

이제 각자 환경에 따라 수정해야 할 부분이 있는데요. 먼저 Vlookup 또는 Index에서 첫 참조 값이 1이 아닌 경우에는 i=0을 해당 참조번호로 바꿔주세요. 다음으로 i < 30 부분은 인쇄해야 될 숫자의 끝 번호 - 시작 번호로 해서 30을 바꿔주세요. 그리고 현재 PrintPreview로 되어 있지만, 이건 미리보기라서 Printout으로 해주셔야 된답니다. 그리고 참조 셀이 B2가 아닌 경우에는 B2를 참조 셀로 바꿔 주시면 되겠죠?

 

그리고 단추를 이용하지 않더라도 가능한데요. [삽입][모듈]을 눌러주신 후 그래도 코딩을 붙여넣고, F5를 눌러 실행을 하시면 된답니다.

 

오늘은 이렇게 자동으로 프린트 하는 방법을 알려드렸습니다!! 똑똑한 직장인이 되자구요 ~!


또 다른 프로그래밍 글이 궁금하다면 여기를 눌러주세요!

 

반응형