Note: The other languages of the website are Google-translated. Back to English

كيفية طباعة صفحات أو ورقة عمل معينة بناءً على قيمة الخلية في Excel؟

هل سبق لك أن حاولت طباعة صفحة أو ورقة عمل معينة بناءً على قيمة خلية في Excel؟ وكيف نحققه؟ يمكن أن تساعدك الطرق الواردة في هذه المقالة في حلها بالتفصيل.

اطبع صفحة معينة بناءً على قيمة الخلية برمز VBA
اطبع ورقة عمل معينة بناءً على قيمة الخلية برمز VBA


اطبع صفحة معينة بناءً على قيمة الخلية برمز VBA

على سبيل المثال ، تريد طباعة صفحة معينة مثل الصفحة 1 من ورقة العمل الحالية تلقائيًا عند إدخال رقم الصفحة 1 في الخلية A1 في ورقة العمل الحالية. يمكنك القيام بما يلي لتحقيق ذلك.

1. حدد الخلية التي تحتوي على رقم الصفحة التي تريد الطباعة بناءً عليها ، ثم اضغط قديم و F11 مفاتيح في نفس الوقت لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة او شباك. ثم اضغط إدراج > وحدة.

2. ثم ميكروسوفت فيسوال باسيك للتطبيقات نافذة منبثقة ، يرجى نسخ ولصق رمز VBA التالي في ملف رمز نافذة.

كود فبا: طباعة الصفحة على أساس قيمة الخلية

Option Explicit
Sub Print_Pages()
Dim xPage As Integer
Dim xYesorNo As Integer
With ActiveCell
    If Not IsEmpty(.Value) And IsNumeric(.Value) Then
        xPage = .Value
    Else: MsgBox "Please specify a cell and enter a page in cell"
        Exit Sub
    End If
End With
xYesorNo = MsgBox("Ready to print page" & xPage & " ", vbYesNo, "Kutools for Excel")
If xYesorNo = vbYes Then
    ActiveSheet.PrintOut from:=xPage, To:=xPage, preview:=True
Else
    Exit Sub
End If
End Sub

3. صحافة F5 مفتاح لتشغيل الكود. في ظهرت كوتولس ل إكسيل مربع الحوار، انقر فوق نعم لطباعة صفحة معينة ، أو انقر فوق لا زر للخروج من مربع الحوار إذا كنت لا تريد الطباعة. انظر لقطة الشاشة:

ثم تفتح نافذة المعاينة لصفحة معينة من ورقة العمل الحالية ، يرجى النقر فوق طباعة زر لبدء الطباعة.


اطبع صفحة معينة بناءً على قيمة الخلية برمز VBA

لنفترض أنك تريد طباعة ورقة العمل النشطة عندما تكون القيمة في الخلية B2 بهذه الورقة مساوية للرقم 1001. يمكنك تحقيق ذلك باستخدام رمز VBA التالي. الرجاء القيام بما يلي.

1. انقر بزر الماوس الأيمن فوق علامة تبويب الورقة التي تريد طباعتها بناءً على قيمة الخلية ، ثم انقر فوق "نعم" عرض الرمز من قائمة النقر بزر الماوس الأيمن.

2. ثم ميكروسوفت فيسوال باسيك للتطبيقات نافذة منبثقة ، يرجى نسخ ولصق رمز فبا التالي في نافذة الكود.

كود فبا: طباعة ورقة العمل على أساس قيمة الخلية

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xCell As Range, xYesorNo As Integer
Set xCell = ActiveSheet.Range("B2")
If Application.Intersect(Target, xCell) Is Nothing Then Exit Sub
    If xCell.Value = 1001 Then
        xYesorNo = MsgBox("Ready to print the specified worksheet? ", vbYesNo, "Kutools for Excel")
        If xYesorNo = vbYes Then
          ActiveSheet.PrintOut
        Else
           Exit Sub
        End If
End If
End Sub

ملاحظة: يمكنك تغيير الخلية وقيمة الخلية في الكود حسب حاجتك.

3. صحافة قديم + Q لإغلاق ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

عند إدخال الرقم 1001 في الخلية B2 ، أ كوتولس ل إكسيل ينبثق مربع الحوار ، الرجاء النقر فوق نعم زر لبدء الطباعة. أو انقر فوق لا زر للخروج من مربع الحوار مباشرة بدون طباعة. انظر لقطة الشاشة:

تلميح: إذا كنت تريد طباعة صفحات غير متتالية مباشرة مثل الصفحات 1 و 6 و 9 في ورقة العمل الحالية ، أو طباعة جميع الصفحات الزوجية أو الفردية فقط ، يمكنك تجربة طباعة الصفحات المحددة فائدة pf كوتولس ل إكسيل كما هو موضح أدناه لقطة الشاشة. يمكنك الذهاب إلى تنزيل البرنامج مجانًا بدون قيود 30 أيام.


مقالات ذات صلة:


أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (4)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كان هذا مفيدًا جدًا! هل هناك طريقة لطباعة صفحات متعددة؟ على سبيل المثال ، إذا كانت الخلية A1 = 5 ، فقم بطباعة الصفحات 1-5.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
اهلا ريان،
إذا كنت ترغب في طباعة صفحات متتالية مثل 1-5 في ورقة عمل بناءً على قيمة خلية ، فيرجى تحديد خلية مثل A1 كتنسيق النص ، واكتب 1-5 فيها ، واحتفظ بهذه الخلية محددة ، ثم قم بتشغيل VBA أدناه الشفرة.

Sub Print_Pages () صفحات_الطباعة الفرعية ()
Dim xPage كسلسلة
خافت x نعم لا صحيح
خافت xI كسلسلة
خافت xPArr () كسلسلة
Dim xIS، xIE، xF، xNum كعدد صحيح
xPage = ActiveCell.Value
xYesorNo = MsgBox ("جاهز لطباعة الصفحة" & xPage & "" ، vbYesNo ، "Kutools for Excel")
إذا كان xYesorNo = vbYes ثم
xPArr () = انقسام (xPage، "-")
إذا كان UBound (xPArr) = 0 ثم
إذا كان فارغًا (xPage) و IsNumeric (xPage) ثم
MsgBox "يرجى تحديد خلية وإدخال صفحة في الخلية"
خروج الفرعية
إنهاء حالة
xNum = Int (xPage)
ActiveSheet.PrintOut from: = xNum ، إلى: = xNum ، المعاينة: = صحيح
ElseIf UBound (xPArr) = 1 ثم
انتقل إلى الخطأ Err01
xIS = Int (xPArr (0))
xIE = Int (xPArr (1))
إذا كان xIS <xIE ثم
من أجل xF = xIS إلى xIE
ActiveSheet.Print الخروج من: = xF ، إلى: = xF ، المعاينة: = صحيح
التالى
آخر
من أجل xF = xIE إلى xIS
ActiveSheet.Print الخروج من: = xF ، إلى: = xF ، المعاينة: = صحيح
التالى
إنهاء حالة
آخر
MsgBox "الرجاء إدخال البيانات الصالحة" ، vbOKOnly ، "Kutools for Excel"
خروج الفرعية
إنهاء حالة
آخر
خروج الفرعية
إنهاء حالة
خروج الفرعية
Err01:
MsgBox "الرجاء إدخال نطاق الصفحة الصحيح" ، vbOKOnly ، "Kutools for Excel"
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا لك. لدي نفس المشكلة التي أريد طباعة الصفحات بناءً على قيمة الخلية. دعنا نقول التغييرات المتغيرة ، أي الصفحة 1-5 ثم في بعض الوقت 2-6. لذلك لدي حقل يقوم بحسابه وسيضعه في تنسيق النص كما هو مقترح ، ولكن لسبب ما لا يعمل معي. لا يطبع أي صفحات. هل يمكنك تقديم المشورة
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل سبق لك أن اكتشفت كيفية الحصول على هذا العمل؟
لا توجد تعليقات منشورة هنا حتى الآن
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL