|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
- 엑셀 버전(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
|
|