EXCEL - VBA

한글이 아닌 엑셀로 하는 메일 머지(2)

별동산 2024. 3. 28. 08:23
반응형

 

다. 연결키를 가져오는 매크로 작성

(1) 매크로 작성
명단 시트에 만들어둔 연결키 중  B열의 번호를 하나씩 고지서 시트의 L6셀에 넘겨주면 됩니다.
 
코드를 작성하기 위해 개발 도구 - Visual Basic을 클릭합니다.
만약 개발 도구 탭이 보이지 않는다면 파일 - 옵션 - 리본 사용자 지정에서 개발 도구 탭에 체크하고 확인 버튼을 눌러야 합니다. => https://lsw3210.tistory.com/142#google_vignette
 
그리고, 삽입 - 모듈을 클릭해서 Module1을 만든 다음
오른쪽 에디터 창에 아래 내용을 복사해서 붙여 넣습니다.

Sub 고지서개별인쇄()
    Dim sht1 As Worksheet, sht2 As Worksheet
    Dim i As Integer, endRow As Integer
    
    Set sht1 = Sheets(1)
    Set sht2 = Sheets(2)
    
    endRow = sht2.Range("a" & Rows.Count).End(xlUp).Row
    For i = 7 To endRow
        With sht1
            .Range("L6") = sht2.Range("B" & i)
            .PrintOut
        End With
    Next
    
    ActiveSheet.Range("d6").Select
End Sub

 
 
(2) 매크로 내용
 
(가) 변수 선언

    Dim sht1 As Worksheet, sht2 As Worksheet

    Set sht1 = Sheets(1)
    Set sht2 = Sheets(2)

 
시트가 2개이니까 각각 sht1, sht2 변수를 Worksheet 형식으로 선언한 다음 그 변수에 대입합니다.
 
(나) 변수 선언

Dim i As Integer, endRow As Integer
endRow = sht2.Range("a" & Rows.Count).End(xlUp).Row

 
For ~ Next 반복문에서 사용할 변수 i와 마지막 행의 번호를 저장할 변수 endRow를 선언하고,
endRow 값으로 sht2.Range("a" & Rows.Count).End(xlUp).Row를 대입하는데
두 번째 시트의 A열 마지막 행에서 위로 올라왔을 때 걸리는 셀의 행 수입니다.
 
(다) 반복문과 공통 인수

    For i = 7 To endRow
        With sht1
            .Range("L6") = sht2.Range("B" & i)
            .PrintOut
        End With
    Next

 
For ~ Next 반복문으로 i값이 7부터 마지막 행, 여기서는 12행까지 한 줄씩 반복 실행합니다.

 
With sht1 ~ End With는 인수 분해처럼 공통되는 인수인 sht1, 첫 번째 시트를 지정하는 것입니다.
 
.Range("L6") = sht2.Range("B" & i)에서 점(.) 앞에 sht1이 생략된 것입니다.
시트1의 L6셀에 시트2의 B열 i행 값을 하나씩 대입하는 것입니다.
 
.PrintOut : 인쇄명령을 보내는 것입니다.
 

ActiveSheet.Range("d6").Select

 
활성 시트의 D6셀을 선택하는 것입니다.
 
(3) 인쇄 화면
인쇄한 화면은 아래와 같습니다.

 
(4) 실행 버튼 생성 및 매크로 지정
개발 도구 탭에서 삽입 - 단추 아이콘을 누른 다음

 
M1셀 근처에 끌어서 크기를 적당히 만들고 마우스 버튼을 놓으면
매크로 지정 대화 창이 열리는데, '고지서 개별 인쇄' 매크로를 클릭하고 확인 버튼을 누릅니다.

 
그러면 '단추 1'이란 이름이 표시되는데,
마우스 오른쪽 버튼을 누른 후 '텍스트 편집' 메뉴를 누르고, '고지서 인쇄'로 수정하고, 버튼 외곽을 클릭합니다.

 
그러면 단추의 이름이 고지서 인쇄로 바뀝니다.

 
이제 고지서 인쇄 버튼을 누르면 매크로가 실행됩니다.
 
(5) 파일 저장
파일 저장 시 파일 형식을 '매크로 사용 통합 문서(*.xlsm)로 변경하고 저장해야 합니다.

 

고지서__개별인쇄(수식 및 매크로 완성).xlsm
0.03MB
반응형