시트를 구분해서 PDF로 저장하는거까진 되는데 시트를 합치는게 안되서요..

VBA
작성자
qkznl****
작성일
2022-08-16 13:00
조회
140
엑셀버전 : 엑셀2016

운영체제 : 윈도우10


질문 요약 : 시트 개별 저장이 아닌 선택시트를 합쳐서 PDF저장

위 링크에서 질문하였는데 답변을 받았습니다.

 

너무 좋은 답변이지만 시트 개별로 PDF저장이 되더라구요.

 

그래서 제가 예제들 보고 수정하다가 도저히 안되서 질문 드립니다.

 

시트를 개별저장이 아닌 선택한시트를 합쳐서 PDF로 저장하는 방법이 없을까요?

 

부탁드리겠습니다 ㅜㅜㅜ

 

그부분만 완성되면 진짜 완벽할거 같습니다..ㅜㅜ

스크랩
공유
전체 3

  • 2022-08-16 13:21

    @qkznl****

    Sub Print_PDF()
    
    Dim PrintSheets As Range
    Set PrintSheets = ActiveSheet.Range(Cells(2, 5), Cells(12, 5))
    
    Dim PrintColumn As Integer
    Dim StartRow As Integer
    Dim EndRow As Integer
    
    PrintColumn = PrintSheets.Column
    StartRow = PrintSheets.Row
    EndRow = StartRow + PrintSheets.Rows.Count - 1
    
    Dim i As Integer
    Dim PrintSheetsString As String
    PrintSheetsString = ""
    
    For i = StartRow To EndRow
      If Len(ActiveSheet.Cells(i, PrintColumn).Value) <> 0 Then
        PrintSheetsString = PrintSheetsString & ActiveSheet.Cells(i, PrintColumn).Value & ", "
      End If
    Next i
    
    PrintSheetsString = Left(PrintSheetsString, Len(PrintSheetsString) - 2)
    
    Dim Sheet_Names As Variant
    Sheet_Names = Split(PrintSheetsString, ", ")
    
    Dim sPath As String
    If ActiveWorkbook.Path = vbNullString Then
      MsgBox "저장된적 없는 새 워크시트여서 현재폴더가 없습니다. 바탕화면에 저장됩니다."
      sPath = Environ("USERPROFILE") & "\Desktop"
      Else
      sPath = ActiveWorkbook.Path
    End If
    
    Dim sDate As String
    sDate = Format(Now(), "yyddmm_hhmmss")
    
    'Dim sName As String
    
    Worksheets(Sheet_Names(LBound(Sheet_Names))).Select
        
    For i = LBound(Sheet_Names) + 1 To UBound(Sheet_Names)
        'sName = Sheet_Names(i)
        Worksheets(Sheet_Names(i)).Select False
    Next i
    
    Dim Wbn As String
    
    Wbn = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5)
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & "\" & Wbn & "_" & sDate & ".pdf"
    
    
    Worksheets(Sheet_Names(LBound(Sheet_Names))).Select
    
    Shell "C:\windows\explorer.exe """ & sPath & "", vbNormalFocus
    
    End Sub

     

    텍스트 스트링을 구분자를 이용해서 리스트를 만들고, 그걸 시트 이름으로 순환해서 active sheet를 인쇄하는 것 까지가 그 전 내용이므로, 아주 조금 수정하는 것으로 구현할 수 있습니다.

    active sheet를 인쇄하는 것이므로, 여러 시트를 동시에 active sheet로 선택하면 여러 시트가 인쇄가 됩니다.

    그러면 for 문에서 select false로 이전 선택 해제를 안하고 선택 누적을 하게 하면 저장시트 포함 여러 시트가 선택됩니다.

    저장 시트가 포함되어있으므로 false가 없는 선택구문 lbound를 for문 앞으로 빼고, for문 시작을 +1해서 맨 앞 시트를 빼면 저장 시트를 제외하고 체크 박스에서 선택한 시트만 선택됩니다.

    선택 후에 인쇄하므로 인쇄 구문은 for문 밖으로 뺍니다.

    한 파일로 인쇄하므로 sname 시트 변수 관련 줄은 제거합니다.
    this workbook 의 이름을 변수로 받아서 파일명으로 지정합니다.

    .xlsm 확장자를 제거하기 위해 left로 5글자를 제거합니다.

    간혹 여러 시트 선택 상태를 모르고 그냥 입력해서 실수하는 사람도 있으므로,
    시트 선택 해제를 위해 lbound 선택을 한 번 더 해서 여러 시트 선택 상태를 풉니다.

    그냥 복사하지 마시고 내용을 읽어주세요

    첨부파일 : 강사비-지출결의서-양식-수정중_연습12222-1.xlsm


    • 2022-08-16 13:48
      채택된 답변

      저장시트를 하나도 선택 안했을 경우 msgbox 출력하도록 수정

      작업 완료 후 lbound가 아니라 저장시트를 보여주도록 수정

      첨부파일 : 강사비-지출결의서-양식-수정중_연습-2.xlsm


      • 2022-08-16 14:06

        @춘식 님 너무너무 감사드립니다 ㅜㅜㅜ 하나더 배우게 되네요 ㅜㅜ


전체 7,895
번호 카테고리 제목 작성자 작성일 추천 조회
알림
🎉 오피스 분야 30주 연속 1위! - 「 진짜쓰는 실무엑셀 」 전자책이 출간되었습니다! (14)
오빠두엑셀 | 2022.09.28 | 추천 7 | 조회 570
오빠두엑셀 2022.09.28 7 570
공지사항 함수/공식
[신규 기능 업데이트!] 👉 이제 게시글 작성시 스크린샷 복/붙이 가능합니다! 😎 (3)
오빠두엑셀 | 2022.08.04 | 추천 5 | 조회 1791
오빠두엑셀 2022.08.04 5 1791
공지사항 함수/공식
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (100)
오빠두엑셀 | 2021.10.28 | 추천 128 | 조회 7582
오빠두엑셀 2021.10.28 128 7582
42873 함수/공식
New 특정 행에 특정 텍스트가 몇개 써있는지 구하는 식 엑셀파일 (2) 답변완료
이주 | 15:41 | 추천 0 | 조회 5
이주 15:41 - 5
42872 문서서식
New 조건부 서식 관련 질문 (1)
아홉열 | 15:32 | 추천 0 | 조회 9
아홉열 15:32 - 9
42869 함수/공식
New 텍스트에 비교연산자 사용시 에러처리
쌈타 | 14:46 | 추천 0 | 조회 11
쌈타 14:46 - 11
42863 기능/도구
New 매번 뭐만 쓰거나 하면 몇십초정도 다운 상태가 됩니다ㅜㅜ (2)
jeongd**** | 13:15 | 추천 0 | 조회 22
jeongd**** 13:15 - 22
42860 VBA
New 입력 범위 코딩했는데 적용이 잘 안되어요 엑셀파일첨부파일
은이랑 | 12:36 | 추천 0 | 조회 15
은이랑 12:36 - 15
42858 함수/공식
New 1~10개의 데이터 중 몇번째 까지 데이터 가져오기가 가능한가요? 첨부파일 (3)
아드키 | 12:33 | 추천 0 | 조회 23
아드키 12:33 - 23
42854 문서서식
New 파일 저장 후 다시 열었을 때 특정 부분 서식이 저절로 바뀌어 있는 문제
보리건빵 | 11:25 | 추천 0 | 조회 15
보리건빵 11:25 - 15
42851 함수/공식
New BOM 관리 (1)
정길이 | 10:38 | 추천 0 | 조회 27
정길이 10:38 - 27
42850 함수/공식
New 성장률(신장률) 해석 및 기본 함수가 이게 맞을까요,,? 첨부파일
NANA77 | 10:19 | 추천 0 | 조회 14
NANA77 10:19 - 14
42849 피벗테이블
New 피벗테이블단축키가안되요. 첨부파일
플립플랩 | 10:09 | 추천 0 | 조회 10
플립플랩 10:09 - 10
42846 파워쿼리/피벗
New 액세스에서 파워쿼리로 데이터 불러올때 자동업데이트 방법 (2)
하모닉스 | 09:50 | 추천 0 | 조회 14
하모닉스 09:50 - 14
42843 함수/공식
New if ifs and 다중 함수좀 알려주세요 첨부파일 (3) 답변완료
동하 | 07:16 | 추천 0 | 조회 25
동하 07:16 - 25
42839 함수/공식
New 상품 가격수준별 분포 구하는 법(+그래프) 엑셀파일 (1)
sue22 | 2022.10.05 | 추천 0 | 조회 27
sue22 2022.10.05 - 27
42838 VBA
New VBA 코딩 중인데.. 어렵네요 엑셀파일첨부파일
실런 | 2022.10.05 | 추천 0 | 조회 38
실런 2022.10.05 - 38
42836 함수/공식
New 엑셀 함수 관련해서 문의 드리고자 합니다. 엑셀파일 (2) 답변완료
dfgkdflglkdf | 2022.10.05 | 추천 0 | 조회 37
dfgkdflglkdf 2022.10.05 - 37
42835 문서서식
New 부등호 ≥ 가 엑셀에 들어가면 줄이 엉망으로 변합니다.. (1)
석준필 | 2022.10.05 | 추천 0 | 조회 26
석준필 2022.10.05 - 26
42834 문서서식
New 엑셀에서 '배경 제거'말고 '배경 채우기'기능도 있나요? (2)
월마리아 | 2022.10.05 | 추천 0 | 조회 24
월마리아 2022.10.05 - 24
42833
New 엑셀VBA 재무제표 크롤링 질문드립니다.
영푸라기 | 2022.10.05 | 추천 0 | 조회 20
영푸라기 2022.10.05 - 20
42832 함수/공식
New 2차원 TABLE 검색 엑셀파일 (5)
대빵 | 2022.10.05 | 추천 0 | 조회 31
대빵 2022.10.05 - 31
42828 함수/공식
New index, match, maxif관련 서식 엑셀파일첨부파일 (2) 답변완료
| 2022.10.05 | 추천 0 | 조회 37
2022.10.05 - 37
42820 VBA
New 외국어공부를 위한 원문사이에 해석을 열에 끼워넣기 (1)
ㅈㄱㄹ | 2022.10.05 | 추천 0 | 조회 37
ㅈㄱㄹ 2022.10.05 - 37
42819 구글시트
New 숨긴 셀 제외 스프레드시트 적용 엑셀파일첨부파일
거꾸로문 | 2022.10.05 | 추천 0 | 조회 32
거꾸로문 2022.10.05 - 32
42816 함수/공식
New 함수 사용 시 특정 셀 텍스트 추출 하는 경우 첨부파일 (6) 답변완료
구찌갱 | 2022.10.05 | 추천 0 | 조회 43
구찌갱 2022.10.05 - 43
42813 구글시트
New SMALL 함수 관련 숨긴 셀 값 제외 엑셀파일첨부파일 (10) 답변완료
거꾸로문 | 2022.10.05 | 추천 0 | 조회 34
거꾸로문 2022.10.05 - 34
42809 함수/공식
New Bar code128 수식을 인식못하네요 엑셀파일첨부파일 (4) 답변완료
어린왕자77 | 2022.10.05 | 추천 0 | 조회 38
어린왕자77 2022.10.05 - 38
42808 VBA
New 특정시트를 참고하여 여러개 시트에 해당값 입력하기 vba 엑셀파일첨부파일
007 | 2022.10.05 | 추천 0 | 조회 39
007 2022.10.05 - 39
42802 VBA
New 안녕하세요. vba 관련 내림차순 자동 채우기 질문드립니다.
Jes | 2022.10.05 | 추천 0 | 조회 27
Jes 2022.10.05 - 27
42800 문서서식
New 셀서식에서 특수기호 넣는방법- 영문자판. (2) 답변완료
kyle2030 | 2022.10.05 | 추천 0 | 조회 32
kyle2030 2022.10.05 - 32
42784 VBA
New 오빠두영상 중 체크박스 만들기 질문드립니다. 첨부파일 (2)
월마리아 | 2022.10.04 | 추천 0 | 조회 38
월마리아 2022.10.04 - 38
42782 함수/공식
New 엑셀사용중 오류때문에 미칠것같습니다... (2)
뉴파 | 2022.10.04 | 추천 0 | 조회 53
뉴파 2022.10.04 - 53