나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 dew (dewdrop)

추천:  2
파일:     내용만 다른 매크로 인쇄_Ans.xlsm (26.7KB) 조회:  1461
제목:   [RE]전체적으로 동일한 내용에 특정 부분의 내용만 다르게 인쇄하는 매크로
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007):

* 아래줄에 질문을 작성하세요 >>
엑셀 버전 :2010 버전 이상

안녕하세요.
고수님들이 도움이 필요합니다.
제목처럼 출력해야 될 내용이 있는데
특정내용은 다른 워크시트의 내용을 넣어서 출력하는 
매크로 작성이 필요한데 (메일머지 형식처럼 출력해야 합니다.)
제 실력으로 도저히 풀수가 없어서 고수님들에게
도움을 청합니다.

설명은 부족하지만 첨부파일보시면 이해하실수 있을것 같습니다.


==============[김문희님 글에 대한 답변입니다]==============

첨부화일 참조하세요...

Sub UserPrint()
    Dim shtPrt As Worksheet
    Dim rData As Range
    Dim shpB As Shape, shpC As Shape, shpD As Shape
    Dim lRow As Long, lStartRow As Long, lEndRow As Long
    
    Set shtPrt = Worksheets("인쇄")
    Set shpB = shtPrt.Shapes("Rectangle 2") ' B열 값
    Set shpC = shtPrt.Shapes("Rectangle 3") ' C열 값
    Set shpD = shtPrt.Shapes("Rectangle 4") ' D열 값
    
    lStartRow = shtPrt.Range("K23") ' 시작 번호
    lEndRow = shtPrt.Range("L23")   ' 끝 번호
    
    Set rData = Worksheets("Sheet1").Range("A2").CurrentRegion
    Set rData = rData.Offset(1).Resize(rData.Rows.Count - 1)
    
    For lRow = lStartRow To lEndRow
        shpB.TextFrame2.TextRange.Characters.Text = rData.Cells(lRow, 2)
        shpC.TextFrame2.TextRange.Characters.Text = Format(rData.Cells(lRow, 3), "HH:MM")
        shpD.TextFrame2.TextRange.Characters.Text = rData.Cells(lRow, 4)
        
        ' 프린트로 출력
        'shtPrt.Range("B2:J21").PrintOut
        ' 인쇄시 시간을 연장해주기 위함 - 2초의 시간을 지연함
        'Application.Wait Time + TimeValue("00:00:02")
        
        ' 인쇄 미리보기
        shtPrt.Range("B2:J21").PrintOut Preview:=True
    Next
End Sub
 
[불량 게시물 신고]  
        
  

작성일 : 2019-08-23(15:56)
최종수정일 : 2019-08-23(15:56)
 


 ◎ 관련글

  제 목   작성자   날짜
전체적으로 동일한 내용에 특정 부분의 내용만 다르게 인쇄하는 매크로 김문희 2019-08-23
[RE]전체적으로 동일한 내용에 특정 부분의 내용만 다르게 인쇄하는 매크로 dew 2019-08-23