이 기사에서는 다른 시트의 데이터를 인쇄하는 매크로를 만듭니다.

두 장의 시트에 서로 다른 원시 데이터가 있고이 시트의 인쇄물을 사용자 정의하려고합니다.

ArrowRawFirst

ArrowRawSecond

ArrowMain

매크로를 실행하기 전에 필요한 인쇄 유형을 지정하고 이름, 범위 또는 사용자 정의보기를 지정해야합니다.

ArrowCustomView

사용자 정의보기 “customView1″을 만들었습니다.

논리 설명

맞춤 인쇄를 위해 “PrintReports”매크로를 만들었습니다. 이 매크로는 A13 셀부터 마지막 ​​행까지 반복됩니다. 맞춤형 인쇄를 위해 세 가지 유형을 지정할 수 있습니다.

유형 1의 경우 다음 열에 시트 이름을 지정해야합니다.

유형 2의 경우 인쇄 할 범위를 지정해야합니다.

유형 3의 경우 사용자 정의보기의 이름을 지정해야합니다.

코드 설명

범위 내의 각 Cell1 ( “A13”, ActiveCell.End (xlDown))

위의 코드는 A13 셀에서 마지막 행까지 반복하는 데 사용됩니다.

DefinedName = ActiveCell.Offset (0, 1) .Value 위 코드는 활성 셀의 다음 열에있는 셀에서 값을 가져 오는 데 사용됩니다.

Select Case Cell1.Value Case 1 ‘Selecting the defined sheet Sheets (DefinedName) .Select Case 2’Selecting the defined range Application.Goto Reference : = DefinedName Case 3 ‘Selecting the defined custom view ActiveWorkbook.CustomViews (DefinedName) .Show End Select 위의 Select 문은 사용자가 정의한 유형에 따라 지정된 영역을 선택하는 데 사용됩니다.

ActiveWindow.SelectedSheets.PrintOut 위의 코드는 선택한 영역을 인쇄하는 데 사용됩니다.

아래 코드를 따르세요

Option Explicit

Sub PrintReports()

'Declared variables

Dim DefinedName As String

Dim Cell1 As Range

'Disabling screen updates

Application.ScreenUpdating = False

'Looping through all the cells

For Each Cell1 In Range("A13", ActiveCell.End(xlDown))

Sheets("Main").Activate



'Selecting the cell

Cell1.Select



'Getting value of sheet name or defined range

DefinedName = ActiveCell.Offset(0, 1).Value



Select Case Cell1.Value



Case 1

'Selecting the defined sheet

Sheets(DefinedName).Select

Case 2

'Selecting the defined range

Application.Goto Reference:=DefinedName

Case 3

'Selecting the defined custom view

ActiveWorkbook.CustomViews(DefinedName).Show

End Select



'Printing the required data

ActiveWindow.SelectedSheets.PrintOut



Next

Application.ScreenUpdating = True

End Sub

이 블로그가 마음에 들면 Facebook 및 Facebook에서 친구들과 공유하십시오.

여러분의 의견을 듣고 싶습니다. 작업을 개선하고 더 나은 서비스를 제공 할 수있는 방법을 알려주십시오. [email protected]로 문의 해주세요