Skip to main content

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

Author: Sun Last Modified: 2025-05-30

هل سبق لك أن حاولت طباعة أوراق عمل محددة بناءً على قيمة خلية؟ في هذه المقالة، سأقدم بعض الأمثلة لمعالجة هذه المسألة. إذا كنت مهتمًا، يرجى متابعة القراءة.

طباعة ورقة عمل بناءً على خلية باستخدام VBA

طباعة ورقة عمل بناءً على الخلية المجاورة باستخدام VBA


طباعة ورقة عمل بناءً على خلية باستخدام VBA

لنفترض وجود ورقتين عمل، وتريد طباعة الورقة الأولى أو الثانية أو كليهما بناءً على الخلية A1 في الورقة الأولى. يرجى القيام بما يلي:

في هذه الحالة، إدخال 1 يعني طباعة الورقة الأولى، وإدخال 2 لطباعة الورقة الثانية، و3 لطباعة كلا الورقتين.

1. أدخل 1 أو 2 أو 3 حسب الحاجة إلى الخلية A1 في الورقة الأولى، واضغط على مفاتيح Alt + F11 لفتح نافذة Microsoft Visual Basic for Applications.

2. انقر فوق إدراج > وحدة، والصق الكود أدناه في الوحدة النص البرمجي. انظر لقطة الشاشة:
A screenshot of inserting a Module in the VBA window

VBA: طباعة ورقة العمل بناءً على قيمة الخلية

Sub PrintStuff()
'UpdayebyExtendoffice20180811
    Dim xRgVal As Variant
    Dim xSheets As Sheets
    Set xSheets = ActiveWorkbook.Worksheets
    xRgVal = xSheets(1).Range("A1").Value
    If (IsNumeric(xRgVal)) And (Len(xRgVal) = 1) Then
        Select Case xRgVal
            Case 1
                xSheets(1).PrintOut
            Case 2
                xSheets(2).PrintOut
            Case 3
                xSheets(1).PrintOut
                xSheets(2).PrintOut
            Case Else
                MsgBox "Enter1, 2 or 3 into A1 (1 print Sheet1 2 print Sheet2 3 print Sheet1 and Sheet2 ", , "KuTools For Excel"
                Exit Sub
            End Select
    Else
        Exit Sub
    End If
End Sub

A screenshot of VBA code inserted in the Module window

3. اضغط على مفتاح F5 لطباعة الورقة (الأوراق) مباشرة.


طباعة ورقة عمل بناءً على الخلية المجاورة باستخدام VBA

إذا كان لديك عدة أوراق عمل في مصنف، وتريد طباعة واحدة أو أكثر من الأوراق بناءً على قيم الخلايا من هذا المصنف، يمكنك القيام بما يلي:

1. قم بإنشاء ورقة جديدة باسم ورقة التحكم في المصنف الذي تستخدمه، وقم بإدراج جميع أسماء الأوراق في العمود A (تضمين أو استبعاد ورقة التحكم حسب الحاجة). انظر لقطة الشاشة:
A screenshot showing the 'Control Sheet' with sheet names listed in column A in Excel

2. اكتب “طباعة” في الخلية المجاورة بجانب اسم الورقة إذا كنت تريد طباعتها. انظر لقطة الشاشة الموضحة.
A screenshot of the 'Control Sheet' with 'print' values entered in the adjacent cells next to the sheet names

3. اضغط على Alt + F11 لتمكين نافذة Microsoft Visual Basic for Applications وانقر فوق إدراج > وحدة. انظر لقطة الشاشة:
A screenshot of inserting a Module in the VBA window

4. الصق الكود أدناه في الوحدة، واضغط على مفتاح F5 لتشغيل الكود.

VBA: الطباعة بناءً على الخلية المجاورة

Sub CreateControlSheet()
'UpdatebyExtendoffice20170811
    Dim i As Integer
    Dim xCSheetRow As Integer
    Dim xSName As String
    Dim xCSheet As Variant
    Dim xRgVal As String
    On Error Resume Next
    xSName = "Control Sheet"
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set xCSheet = ActiveWorkbook.Worksheets(xSName)
    xCSheetRow = xCSheet.Range("B65536").End(xlUp).Row
    For i = 2 To xCSheetRow
        xRgVal = xCSheet.Range("B" & i).Value
        If xRgVal = "Print" Or xRgVal = "print" Then
            If xCSheet.Range("A" & i).Value <> "" Then
                ActiveWorkbook.Worksheets(xCSheet.Range("A" & i).Value).PrintOut
            End If
        End If
    Next
    xCSheet.Delete
    ActiveWorkbook.Worksheets.Add
    ActiveSheet.Name = "Control Sheet"
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "Sheet Name"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "Print?"
    For i = 1 To ActiveWorkbook.Worksheets.Count
        Range("A" & i + 1).Value = ActiveWorkbook.Worksheets(i).Name
    Next
    Cells.Columns.AutoFit
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

A screenshot of VBA code inserted in the Module window

بعد تشغيل الكود، سيتم طباعة الورقة (الأوراق) فورًا وفي نفس الوقت، ستستبدل ورقة تحكم جديدة القديمة.

نصيحة: إذا كان لديك Kutools لـ Excel، باستخدام أداة إنشاء قائمة بأسماء الأوراق، يمكنك إنشاء قائمة بجميع أسماء الأوراق بسرعة في ورقة جديدة مع رابط قابل للنقر.

A screenshot of a Control Sheet with clickable links to sheet names after using Kutools

Kutools لـ Excel - قم بتعزيز Excel بأكثر من 300 أدوات أساسية. استمتع بميزات ذكاء اصطناعي مجانية بشكل دائم! احصل عليه الآن

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

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات من خلال: التنفيذ الذكي |توليد الشيفرة |إنشاء الصيغ المخصصة |تحليل البيانات وتوليد الرسوم البيانية |استدعاء الوظائف المحسنة
الميزات الشائعة: البحث، تمييز أو وضع علامة على المكررات | حذف الصفوف الفارغة | دمج الأعمدة أو العنوان دون فقدان البيانات | تقريب ...
بحث متقدم: بحث V متعدد المعايير | بحث V متعدد القيم | بحث في عدة ورقات | مطابقة غامضة ....
قائمة منسدلة متقدمة: إنشاء قائمة منسدلة بسرعة | قائمة منسدلة تابعة | قائمة منسدلة متعددة الاختيار ....
إدارة الأعمدة: إضافة عدد محدد من الأعمدة | نقل الأعمدة | تبديل حالة إظهار الأعمدة المخفية | مقارنة النطاق والأعمدة ...
ميزات مميزة: التركيز على الشبكة | عرض التصميم | شريط الصيغ المحسن | أدوات المصنف & أدوات الورقة العمل | مكتبة النص التلقائي (Auto Text) | منتقي التاريخ | دمج البيانات | تشفير/فك تشفير الخلايا | إرسال البريد الإلكتروني حسب القائمة | مرشح متقدم | تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ...) | أكثر من50 نوع من الرسوم البيانية (مخطط جانت، ...) | أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...) |19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...) |12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...) |7 أدوات دمج وتقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...) | ... والمزيد

عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...


Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير

  • تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
  • افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
  • يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!