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

هنگام کار با کاربرگ های بزرگ، اضافه کردن جمع های فرعی غیرعادی نیست تا بتوانید اطلاعات را در کاربرگ به روشی منطقی گروه بندی کنید. (ابزار Subtotal در زبانه Data روبان در گروه Outline قرار دارد.) هنگام اضافه کردن جمع های فرعی، می توانید تعیین کنید که اکسل هر گروه را در یک صفحه کاملاً جدید شروع کند. این برای همه انواع گزارش در اکسل بسیار مفید است.

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

Sub ChangeSectionHeads()
    Dim c As Range, rngSection As Range
    Dim cFirst As Range, cLast As Range
    Dim rowLast As Long, colLast As Integer
    Dim r As Long, iSection As Integer
    Dim iCopies As Variant
    Dim strCH As String

    Set c = Range("A1").SpecialCells(xlCellTypeLastCell)
    rowLast = c.Row
    colLast = c.Column

    iCopies = InputBox( _
        "Number of Copies", "Changing Section Headers", 1)

    If iCopies = "" Then Exit Sub

    Set cFirst = Range("A1")      initialization start cell
    For r = 2 To rowLast     from first row to last row
        If ActiveSheet.Rows(r).PageBreak = xlPageBreakManual Then
            Set cLast = Cells(r - 1, colLast)
            Set rngSection = Range(cFirst, cLast)

            iSection = iSection + 1
            Select Case iSection
               substitute your CenterSection Header data ...
                Case 1: strCH = "Section 1"
                Case 2: strCH = "Section 2"
               etc
               Case n: strCH = "Section n"
            End Select

            ActiveSheet.PageSetup.CenterHeader = strCH

            rngSection.PrintOut _
                Copies:=iCopies, Collate:=True

            Set cFirst = Cells(r, 1)
        End If
    Next r

   Last Section ++++++++++++++++++++++++++++
    Set rngSection = Range(cFirst, c)

    iSection = iSection + 1
   substitute your Center Header data ...
    strCH = "Last Section ..."

    ActiveSheet.PageSetup.CenterHeader = strCH

    rngSection.PrintOut _
        Copies:=iCopies, Collate:=True
End Sub

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

بررسی واقعی ردیف با نگاه کردن به ویژگی PageBreak هر سطر انجام می شود. این ویژگی معمولاً روی xlPageBreakNone تنظیم می‌شود، اما وقتی از ویژگی Subtotals در اکسل استفاده می‌کنید، هر ردیفی که قبل از آن صفحه شکسته باشد، این ویژگی را روی xlPageBreakManual تنظیم می‌کند. این همان تنظیماتی است که اگر به صورت دستی شکستگی های صفحه را در کاربرگ خود قرار دهید، رخ می دهد.

اگر ماکرو تشخیص دهد که یک ردیف قبل از آن یک صفحه شکستگی دارد، محدوده rngSection برابر با ردیف‌های گروه قبلی تنظیم می‌شود. همچنین از ساختار Select Case برای تنظیم سرفصل های مختلف مورد استفاده برای بخش های مختلف کاربرگ استفاده می شود. سپس این عنوان در موقعیت مرکزی هدر قرار می گیرد و محدوده مشخص شده توسط rngSection چاپ می شود.

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

برای استفاده از این ماکرو، تنها کاری که باید انجام دهید این است که در ساختار Select Case عناوین مختلفی را که برای هر بخش از کاربرگ می‌خواهید مشخص کنید. همچنین در صورت تمایل می توانید محل قرارگیری عنوان را در هدر تغییر دهید. تنها کاری که باید انجام دهید این است که ویژگی CenterHeader را به LeftHeader یا RightHeader تغییر دهید. در صورت تمایل می توانید از LeftFooter، CenterFooter و RightFooter نیز استفاده کنید.

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

پاسخ شما

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

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

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

سوالات مشابه

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

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

137 نفر آنلاین
0 عضو و 137 مهمان در سایت حاضرند
بازدید امروز: 1539
بازدید دیروز: 25180
بازدید کل: 20338895
...