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

   [Re]매크로에서 연결해서 전체출력을 하려구 하는데요~
   두드림
2009-04-22 조회: 2,208

안녕하세요.

 

다음과 같이 전체출력 코드를 수정했습니다.

 

Sub 전체출력()
    Dim i As Integer
    Dim intNum As Integer
    intNum = WorksheetFunction.CountA(Range("월급직이름"))
    
    For i = 1 To intNum
        Range("B3") = Range("월급직이름").Cells(i)
        ActiveWindow.SelectedSheets.PrintPreview
    Next i
End Sub

 

문제가 됐던 부분은 intNum 변수에 '급여대장-월' 시트의 사원수를 구하는 부분.

직접 작성하신 코드로 계산하면 intNum 변수에 -1이 저장됩니다.

위의 코드에서는 워크시트 함수(WorksheetFunction) CountA 함수를 사용해서

이미 이름이 정의되어 있는 '월급직이름' 범위(Range)에 대해 개수를 구한 것입니다.

 

다음 문제는 기존 코드에서 C7 셀에 '시작'부터 i 행씩 내려가면서 값을 지정했는데

현재 '급여명세서-월' 시트에 보면 사원의 이름이 입력되어야 할 부분은 C7 셀이 아니라

목록에서 사원 이름을 선택하는 B3 셀이 되어야 하겠지요. 그걸 C7셀로 가져가게 되어 있구요.

또 '시작'이라는 이름이 두 번 정의되어 있었습니다.

그래서 '월급직이름' 범위(Range)에서 i 번째 셀을 B3 셀에 입력하는 것으로

코드를 수정했습니다.

코드를 분석해 보면 금방 알 수 있을 듯합니다.

 

감사합니다.

 






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

※ 이 게시물에 대한 의견을 입력해 주세요(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.