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

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

به نظر می رسد بهترین راه برای رسیدگی به این موضوع استفاده از یک تابع قدیمی (اما هنوز در دسترس) Excel 4 برای تعیین تعداد کل صفحات چاپ شده در یک کاربرگ است. سپس می توانید از مجموعه های HPageBreaks و VPageBreaks استفاده کنید تا بفهمید سلول در کجای ماتریس صفحاتی که چاپ می شوند قرار می گیرد. در زیر نمونه ای از یک ماکرو است که از این موارد استفاده می کند:

Sub PageInfo()
    Dim iPages As Integer
    Dim iCol As Integer
    Dim iCols As Integer
    Dim lRows As Long
    Dim lRow As Long
    Dim x As Long
    Dim y As Long
    Dim iPage As Integer

    iPages = ExecuteExcel4Macro("Get.Document(50)")

    With ActiveSheet
        y = ActiveCell.Column
        iCols = .VPageBreaks.Count
        x = 0
        Do
            x = x + 1
        Loop Until x = iCols _
          Or y < .VPageBreaks(x).Location.Column
        iCol = x
        If y >= .VPageBreaks(x).Location.Column Then
            iCol = iCol + 1
        End If

        y = ActiveCell.Row
        lRows = .HPageBreaks.Count
        x = 0
        Do
            x = x + 1
        Loop Until x = lRows _
          Or y < .HPageBreaks(x).Location.Row
        lRow = x
        If y >= .HPageBreaks(x).Location.Row Then
            lRow = lRow + 1
        End If

        If .PageSetup.Order = xlDownThenOver Then
            iPage = (iCol - 1) * (lRows + 1) + lRow
        Else
            iPage = (lRow - 1) * (iCols + 1) + iCol
        End If
    End With
    MsgBox "Cell " & ActiveCell.Address & _
      " is on " & vbCrLf & "Page " & _
      iPage & " of " & iPages & " pages"
End Sub

یکی از مواردی که باید با این ماکرو در نظر داشته باشید این است که مجموعه های HPageBreaks و VPageBreaks تنها در صورتی دقیق در نظر گرفته می شوند که کاربرگ را در پیش نمایش بریک صفحه (نمایش | پیش نمایش بریک صفحه) مشاهده می کنید. بنابراین، قبل از انتخاب سلول و اجرای ماکرو، باید مطمئن شوید که در آن حالت هستید.

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

پاسخ شما

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

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

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

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 80 visibility
ارسال شده در 24 تیر 1402 موضوع: آفیس توسط: Admin

31.4k سوال

16.7k پاسخ

619 دیدگاه

13.7k کاربر

7 نفر آنلاین
0 عضو و 7 مهمان در سایت حاضرند
بازدید امروز: 22749
بازدید دیروز: 26952
بازدید کل: 33028148
...