Mitchell은 1 년 동안 회사의 모든 http://www.formville.com/C17_free-purchase-orders.html [구매 주문]을 나타내는 워크 시트에 많은 데이터가 있습니다. 데이터는 공급 업체 이름이 포함 된 C 열에 정렬됩니다. Mitchell은 해당 행에 대한 모든 데이터와 함께 각 공급 업체에 대해 별도의 페이지를 인쇄하려고합니다. 그는 공급 업체별 시트 인쇄를 자동화 할 수있는 방법이 있는지 궁금합니다.

Excel의 많은 항목과 마찬가지로이 문제에 대해 여러 가지 접근 방식을 취할 수 있습니다. 이 팁에서는 네 가지 접근 방식을 살펴 보겠습니다. 네 가지 접근 방식 모두 데이터가 공급 업체 이름 열 (C 열)에 따라 정렬되고 데이터의 각 열 (이름, 날짜, PO 번호, 공급 업체 등)에 열 머리글이 있다고 가정합니다.

_ 소계 사용 _

소계를 사용하여 공급 업체별 시트를 인쇄하려면 먼저 데이터 내의 셀을 선택합니다. (C 열의 셀이 완벽합니다.) 데이터가 연속적이지 않은 경우 모든 데이터를 수동으로 선택해야 할 수 있습니다. 그러나 연속적인 경우 단일 셀을 선택하는 것으로 충분합니다. 그런 다음 다음 단계를 따르십시오.

  1. 리본의 데이터 탭을 표시합니다.

  2. 개요 그룹에서 부분합 도구를 클릭합니다. Excel은 부분합 대화 상자를 표시합니다. (그림 1 참조)

  3. At Each Change In 드롭 다운 목록이 Vendor로 설정되어 있는지 확인합니다. (C 열의 이름을 사용합니다.) Excel에서 부분합을 삽입 할 위치를 나타냅니다.

  4. 함수 사용 드롭 다운 목록은 개수로 설정해야합니다.

  5. Add Subtotal To 상자의 목록을 사용하여 공급 업체 (C 열) 열을 선택합니다. 여기에 개수가 추가됩니다.

  6. 현재 부분합 바꾸기 확인란이 선택되어 있는지 확인합니다.

  7. 그룹 간 페이지 나누기 확인란이 선택되어 있는지 확인합니다.

  8. 데이터 아래 요약 확인란이 선택되어 있는지 확인합니다.

  9. 확인을 클릭하십시오.

Excel은 워크 시트에 부분합을 배치하지만 각 새 공급 업체 앞에 페이지 나누기를 배치해야합니다. (이는 위의 7 단계 때문입니다.) 페이지 나누기는 즉시 명확하지 않을 수 있지만 워크 시트를 인쇄 할 때 적용됩니다.

일단 인쇄되면 각 공급 업체에 대한 인쇄 된 페이지가됩니다. 각 페이지의 마지막 행 바로 아래에있는 소계는 해당 특정 공급 업체에 대해 인쇄 된 구매 주문의 수를 나타냅니다.

_ 필터링 된 데이터 사용 _

데이터 필터링은 매우 쉬우 며 이러한 유형의 보고서를 자주 인쇄 할 필요가없는 경우 좋은 방법입니다. 다시 말하지만, 데이터가 연속적이지 않은 경우 데이터 내에서 셀을 선택하여 시작하십시오.

(이 경우 모든 데이터를 수동으로 선택해야합니다.) 그런 다음 다음 단계를 따르십시오.

  1. 리본의 데이터 탭을 표시합니다.

  2. 정렬 및 필터 그룹에서 필터 도구를 클릭합니다. Excel은 행 1의 각 열 레이블 옆에 자동 필터 드롭 다운 표시기를 표시해야합니다.

  3. 공급 업체 열 (C 열)의 드롭 다운 표시기를 사용하여 인쇄 할 공급 업체 이름을 선택합니다. 해당 공급 업체의 구매 주문 만 표시하도록 목록이 자동으로 필터링됩니다.

  4. 평소처럼 페이지를 인쇄합니다. 인쇄 된 보고서에는 3 단계에서 지정한 공급 업체의 구매 주문 만 표시되어야합니다.

다른 공급 업체의 보고서를 인쇄하려면 필터를 변경 (3 단계)하고 다시 인쇄 (4 단계)하기 만하면됩니다. 완료되면 리본의 데이터 탭에서 필터 도구를 다시 클릭하여 필터를 제거 할 수 있습니다.

_ 피벗 테이블 사용 _

원하는 보고서를 만드는 또 다른 빠른 방법은 Excel의 피벗 테이블 기능을 사용하는 것입니다. _ExcelTips_의 다른 문제에서 다루었으므로 여기에서는 피벗 테이블을 만드는 방법에 대해서는 다루지 않겠습니다. 피벗 테이블은 원하는 방식으로 설정할 수 있지만 공급 업체 필드가 ​​피벗 테이블 필드 창의 필터 그룹에 있는지 확인해야합니다. (그림 2 참조)

image

그림 2. 피벗 테이블 설정.

다음으로 Excel 버전에 따라 리본의 옵션 또는 분석 탭을 표시합니다. (이러한 탭은 피벗 테이블 내에서 셀을 선택한 경우에만 표시됩니다.) 피벗 테이블 그룹의 리본 왼쪽에있는 옵션 드롭 다운 목록을 클릭하고 보고서 필터 페이지 표시를 선택합니다. (이 옵션은 앞에서 언급했듯이 공급 업체 필드가 ​​필터 그룹에 있는지 확인한 경우에만 사용할 수 있습니다.) Excel은 보고서 필터 페이지 표시 대화 상자를 표시합니다. (그림 3 참조)

image

그림 3. 보고서 필터 페이지 표시 대화 상자.

필터 그룹에 공급 업체 필드보다 더 많은 필드를 추가하지 않는 한 대화 상자에 하나의 필드 만 나열되어야합니다. 필드가 두 개 이상 나열된 경우 공급 업체 필드를 클릭해야합니다. 확인을 클릭하면 Excel은 데이터 테이블의 각 공급 업체에 대해 별도의 피벗 테이블 워크 시트를 만듭니다. 피벗 테이블에 포함하기로 선택한 정보에 따라 공급 업체를위한 훌륭한 보고서가 될 수 있습니다. 그런 다음 워크 시트를 인쇄하여 원하는 보고서를 얻을 수 있습니다.

_ 매크로 사용 _

원하는 데이터를 제공하기 위해 매크로를 설정할 수있는 방법은 여러 가지가 있습니다. 개인적으로 저는 데이터를 살펴보고 각 공급 업체에 대한 새 워크 시트를 만드는 매크로를 선호합니다. 이것이 바로 다음 매크로의 기능입니다. 데이터에서 공급 업체 목록을 컴파일 한 다음 각 공급 업체 이름이 지정된 워크 시트를 만듭니다. 그런 다음 원본 워크 시트의 정보를 새로 만든 워크 시트로 복사합니다.

Sub CreateVendorSheets()

' To use this macro, select the first cell in     ' the column that contains the vendor names.



Dim sTemp As String     Dim sVendors(99) As String     Dim iVendorCounts(99) As Integer     Dim iVendors As Integer     Dim rVendorRange As Range     Dim c As Range     Dim J As Integer     Dim bFound As Boolean

' Find last row in the worksheet     Set rVendorRange = ActiveSheet.Range(Selection, _       ActiveSheet.Cells(Selection.SpecialCells(xlCellTypeLastCell).Row, _       Selection.Column))



' Collecting all the vendor names in use     iVendors = 0

For Each c In rVendorRange         bFound = False         sTemp = Trim(c)

If sTemp > "" Then             For J = 1 To iVendors                 If sTemp = sVendors(J) Then bFound = True             Next J             If Not bFound Then                 iVendors = iVendors + 1                 sVendors(iVendors) = sTemp                 iVendorCounts(iVendors) = 0             End If         End If     Next c

' Create worksheets     For J = 1 To iVendors         Worksheets.Add After:=Worksheets(Worksheets.Count)

ActiveSheet.Name = sVendors(J)

Next J

' Start copying information     Application.ScreenUpdating = False     For Each c In rVendorRange         sTemp = Trim(c)

If sTemp > "" Then             For J = 1 To iVendors                 If sTemp = sVendors(J) Then                     iVendorCounts(J) = iVendorCounts(J) + 1                     c.EntireRow.Copy Sheets(sVendors(J)). _                       Cells(iVendorCounts(J), 1)

End If             Next J         End If     Next c     Application.ScreenUpdating = True End Sub

매크로 시작 부분에서 언급했듯이 매크로를 실행하기 전에 공급 업체 열에서 데이터의 첫 번째 셀을 선택해야합니다. 완료되면 각 공급 업체에 대한 하나의 워크 시트를 갖게되며 원하는대로 서식을 지정하고 인쇄 할 수 있습니다. (열 머리글 정보 또는 기타 정보를 생성 된 각 워크 시트에 넣는 코드를 추가하여 매크로를 더욱 유용하게 만들 수 있습니다.) 완료되면 다음에 매크로를 실행할 때 해당 공급 업체의 워크 시트를 삭제해야합니다. 문제가 발생하지 않습니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (13633)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.