회원가입 공지사항
로그인
비밀번호
대학경쟁력분석시스템(U-CAS) 학과평가 및 핵심성과지표 분석(U-CAS+)
[엑셀자동화기술] 메뉴 [엑셀강좌] 메뉴 [자격증/문제은행] 메뉴
 회원 방문 수    52,838,020 명  
 접속 인원 수    5,447 명  
  홈 > 묻고답하기    

   급여명세서 출력이요~
   김정희
2009-12-21 조회: 2,685

급여명세서 출력할때 전체보기에서 월별로 지정해서 가로로 두명씩 출력을 하려고 하는데

 

에러가 나는데~ 이 이상은 제 머리에 한계가 오네요~

 

어떻게 하면 좋을지 답변 좀 부탁드려요~

 

 

 

 Sub 명세서인쇄()
   Dim rng시작 As Range
   Dim i As Long
   Dim iPage As Integer, i확인 As Integer
   Dim nm이름 As Name
  
   Set rng시작 = Range("nm출력범위").Range("A1").Offset(1, 0)
   If rng시작 = "" Then
      MsgBox "인쇄할 내용이 없습니다.", vbInformation, "자료없음"
      Exit Sub
   End If
   iPage = (Range("nm출력범위").CurrentRegion.Rows.Count - 1)
  
'--// 엑셀 2003 이전에서는 65536 행까지만 지원하나 2007이상에서는 1048576행까지 지원
   If iPage > (1048576 / 31) Then
      MsgBox "한번에 인쇄할 수 있는 페이지 수가 넘습니다."
      Exit Sub
   End If
  
   i확인 = MsgBox("전체 인쇄할 페이지 수는 【" & _
      iPage & "】페이지 입니다. 인쇄방법을 선택하세요." _
      & String(2, vbCr) & _
      "[예] - 미리보기 실행" & vbCr & _
      "[아니오] - 미리보기 없이 바로 인쇄" & vbCr & _
      "[취소] - 인쇄 작업 취소" _
      , vbYesNoCancel + vbQuestion, "미리보기")
  
   If i확인 <> vbYes And i확인 <> vbNo Then Exit Sub
  
   Application.ScreenUpdating = False
       
   For Each nm이름 In Names
      If Not (nm이름.Name Like "nm*") Then
         nm이름.Delete
      End If
   Next
  
   With Sheets("급여_DB")
      Range(.Range("A4"), .Range("A4").End(xlToRight).End(xlDown)).CreateNames _
            Top:=True, Left:=False, Bottom:=False, Right:=False
   End With
  
   Sheets("급여명세서").Rows("31:65536").Delete
  
   Do While rng시작.Offset(i, 0) <> ""
      With Sheets("급여명세서")
         If i > 0 Then
            .Rows("1:31").Copy
            .Rows(31 * i + 1).PasteSpecial
         End If
     
         .Range("B" & 1 + 31 * i) = rng시작.Offset(i, 0) & "년 " & rng시작.Offset(i, 1) & "월 분 급/상여명세서"
         .Range("j" & 1 + 31 * i) = rng시작.Offset(i, 0) & "년 " & rng시작.Offset(i, 1) & "월 분 급/상여명세서"
         .Range("B" & 2 + 31 * i) = "'" & rng시작.Offset(i, 0) & rng시작.Offset(i, 1) & rng시작.Offset(i, 2)
         .Range("j" & 2 + 31 * i) = "'" & rng시작.Offset(i, 0) & rng시작.Offset(i, 1) & rng시작.Offset(i, 2)
      End With
     
      i = i + 1
     
   Loop
  
   Sheets("전체작업").Select
   Application.CutCopyMode = False
   Application.ScreenUpdating = True
   
   Select Case i확인
      Case vbYes:  Sheets("급여명세서").PrintOut Preview:=True
      Case vbNo:   Sheets("급여명세서").PrintOut Preview:=False
   End Select
End Sub

 






작성된 코멘트가 없습니다.

※ 이 게시물에 대한 의견을 입력해 주세요(4,000자 이내).
엑셀연말정산자동계산
엑셀 2007 교육
워드프로세서 기출문제
컴퓨터활용 기출문제
2013년 급여 자동계산
단원별 기출문제 검색
엑셀자동화 서식
엑셀자동화 방법
엑셀실무 팁
두드림 통합 검색
엑셀자동화서식제작요청
상호 : 두드림기획 | 사업자등록번호 : 105-20-55088 | 통신판매업신고번호 : 마포통신 제5343호 | 대표 : 이형범 |
고객정보관리책임자 : 이소연 | 주소 : 서울특별시 마포구 월드컵로16길 47 201호(서교동) | 전화: 02)323-7705 |
Fax: 0504)446-5419 | 입금계좌 : 국민은행(543001-01-213514) | E-Mail :
Copyright 2006 두드림기획(www.edodream.com) All Rights Reseved.