ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
35 visibility
موضوع: آفیس توسط:

میچل داده های زیادی در یک کاربرگ دارد که تمام سفارشات خرید شرکت او را برای یک سال نشان می دهد. داده ها در ستون C، که حاوی نام فروشنده است، مرتب شده اند. میچل می خواهد یک صفحه جداگانه برای هر فروشنده با تمام داده های آن ردیف ها چاپ کند. او نمی‌پرسد آیا راهی برای خودکار کردن چاپ برگه‌های خاص فروشنده وجود دارد یا خیر.

مانند بسیاری از موارد در اکسل، چندین رویکرد وجود دارد که می توانید برای این مشکل استفاده کنید. من قصد دارم در این نکته به چهار رویکرد نگاه کنم. هر چهار رویکرد فرض می‌کنند که داده‌های شما بر اساس ستون نام فروشنده (ستون C) مرتب شده‌اند و سر ستون‌ها در هر ستون از داده‌های خود (نام، تاریخ، شماره پست، فروشنده و غیره) دارید.

استفاده از جمع های فرعی

برای چاپ برگه های خاص فروشنده با استفاده از جمع های فرعی، با انتخاب سلولی در داده های خود شروع کنید. (یک سلول در ستون C عالی خواهد بود.) اگر داده های شما به هم پیوسته نیستند، ممکن است لازم باشد همه آنها را به صورت دستی انتخاب کنید. با این حال، اگر به هم پیوسته باشد، انتخاب سلول منفرد باید کافی باشد. سپس، این مراحل را دنبال کنید:

image

شکل 1. تعیین اینکه چگونه جمع های فرعی باید ایجاد شوند.

  1. تب Data روبان را نمایش دهید.
  2. در گروه Outline بر روی ابزار Subtotal کلیک کنید. اکسل کادر محاوره ای Subtotal را نمایش می دهد. (شکل 1 را ببینید.)
  3. مطمئن شوید که لیست کشویی At Every Change In روی Vendor تنظیم شده است. (از نام ستون C استفاده کنید.) این نشان می دهد که اکسل در کجا جمع های فرعی را وارد می کند.
  4. لیست کشویی Use Function باید روی Count تنظیم شود.
  5. با استفاده از لیست موجود در کادر Add Subtotal To، ستون Vendor (ستون C) را انتخاب کنید. این جایی است که تعداد اضافه خواهد شد.
  6. اطمینان حاصل کنید که چک باکس Replace Current Subtotals انتخاب شده باشد.
  7. مطمئن شوید که چک باکس Page Breaks between Groups انتخاب شده باشد.
  8. مطمئن شوید که چک باکس Summary Below Data انتخاب شده باشد.
  9. روی OK کلیک کنید.

اکسل جمع‌های فرعی را در کاربرگ شما قرار می‌دهد، اما باید قبل از هر فروشنده جدید، شکستگی‌های صفحه را نیز قرار دهد. (این به دلیل مرحله 7، بالا است.) شکستگی های صفحه ممکن است فوراً مشخص نباشند، اما زمانی که کاربرگ را چاپ می کنید به کار می روند.

پس از چاپ، چیزی که در نهایت به آن می رسید یک صفحه چاپ شده برای هر یک از فروشندگان شما است. مجموع فرعی درست زیر آخرین ردیف در هر صفحه تعداد سفارش های خرید چاپ شده برای آن فروشنده خاص را نشان می دهد.

استفاده از داده های فیلتر شده

فیلتر کردن داده‌های شما بسیار آسان است، و اگر نیازی به چاپ این نوع گزارش‌ها ندارید، این روش خوبی است. باز هم، با انتخاب سلولی در داده‌های خود شروع کنید، مگر اینکه داده‌های شما به هم پیوسته نباشند. (در این صورت باید تمام داده های خود را به صورت دستی انتخاب کنید.) سپس این مراحل را دنبال کنید:

  1. تب Data روبان را نمایش دهید.
  2. روی ابزار Filter در گروه Sort & Filter کلیک کنید. اکسل باید نشانگرهای کشویی AutoFilter را در کنار هر برچسب ستون در ردیف 1 نمایش دهد.
  3. با استفاده از نشانگر کشویی ستون Vendor (ستون C)، نام فروشنده ای را که می خواهید چاپ کنید انتخاب کنید. لیست شما به طور خودکار فیلتر می شود تا فقط سفارشات خرید از آن فروشنده را نمایش دهد.
  4. صفحه را همانطور که معمولاً چاپ می کنید چاپ کنید. گزارش چاپ شده باید فقط سفارشات خرید را برای فروشنده ای که در مرحله 3 مشخص کرده اید نشان دهد.

اگر می‌خواهید گزارش‌هایی را برای فروشندگان دیگر چاپ کنید، تنها کاری که باید انجام دهید این است که فیلتر را تغییر دهید (مرحله 3) و دوباره چاپ کنید (مرحله 4). وقتی کارتان تمام شد، می‌توانید با کلیک مجدد روی ابزار Filter در زبانه Data روبان، فیلتر را حذف کنید.

استفاده از PivotTables

یکی دیگر از راه‌های سریع برای ایجاد گزارش‌هایی که می‌خواهید، استفاده از قابلیت‌های PivotTable اکسل است. من در اینجا به نحوه ایجاد یک PivotTable نمی پردازم، زیرا در شماره های دیگر ExcelTips به آن پرداخته شده است . PivotTable شما می تواند تقریباً به هر شکلی که می خواهید تنظیم شود، اما باید مطمئن شوید که فیلد Vendor در گروه Filters در قسمت PivotTable Fields قرار دارد. (شکل 2 را ببینید.)

image

شکل 2. تنظیم PivotTable خود.

سپس، بسته به نسخه اکسل خود، تب Options یا Analyze روبان را نمایش دهید. (این برگه ها فقط زمانی قابل مشاهده هستند که سلولی را در PivotTable خود انتخاب کنید.) در گروه PivotTable، در سمت چپ نوار، روی لیست کشویی گزینه ها کلیک کنید و نمایش گزارش فیلتر صفحات را انتخاب کنید. (این گزینه فقط در صورتی در دسترس است که همانطور که قبلاً ذکر شد، قسمت Vendor در گروه فیلترها قرار دارد.) Excel کادر محاوره ای Show Report Filter Pages را نمایش می دهد. (شکل 3 را ببینید.)

image

شکل 3. کادر محاوره ای Show Report Filter Pages.

فقط باید یک فیلد در کادر محاوره ای لیست شده باشد، مگر اینکه بیشتر از فیلد فروشنده به گروه فیلترها اضافه کرده باشید. اگر بیش از یک فیلد در لیست وجود دارد، مطمئن شوید که روی فیلد فروشنده کلیک کرده اید. وقتی روی OK کلیک می کنید، اکسل برگه های PivotTable جداگانه برای هر فروشنده در جدول داده های شما ایجاد می کند. بسته به اطلاعاتی که انتخاب کرده‌اید در PivotTable قرار دهید، این اطلاعات می‌توانند گزارش‌های خوبی برای فروشندگان شما ایجاد کنند. سپس می توانید برگه ها را چاپ کنید تا گزارش های مورد نظر خود را دریافت کنید.

استفاده از ماکروها

راه‌های زیادی وجود دارد که می‌توانید یک ماکرو راه‌اندازی کنید تا داده‌های مورد نظرتان را در اختیارتان قرار دهد. من شخصاً یک ماکرو را ترجیح می دهم که از داده های شما عبور کند و کاربرگ های جدیدی برای هر فروشنده ایجاد کند. این کاری است که ماکرو زیر انجام می دهد - لیستی از فروشندگان را از داده های شما جمع آوری می کند و سپس یک کاربرگ به نام هر فروشنده ایجاد می کند. سپس اطلاعات را از کاربرگ اصلی به کاربرگ های تازه ایجاد شده کپی می کند.

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

همانطور که در ابتدای ماکرو ذکر شد، قبل از اجرای ماکرو باید اولین سلول داده در ستون Vendor را انتخاب کنید. پس از تکمیل، یک کاربرگ برای هر فروشنده خواهید داشت که می توانید آن را به دلخواه قالب بندی و چاپ کنید. (شما می توانید با افزودن کدی که اطلاعات سرفصل ستون یا سایر اطلاعات را در هر کاربرگ ایجاد شده قرار می دهد، ماکرو را حتی مفیدتر کنید.) پس از اتمام، باید کاربرگ های آن فروشندگان را حذف کنید تا دفعه بعد که ماکرو را اجرا می کنید، آن را اجرا نکنید. به مشکل بر بخورد

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 33 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 33 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 41 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 37 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 30 visibility

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

385 نفر آنلاین
0 عضو و 385 مهمان در سایت حاضرند
بازدید امروز: 14166
بازدید دیروز: 25180
بازدید کل: 20351514
...