كيفية طباعة أوراق عمل محددة بناءً على قيم الخلايا في Excel؟
هل سبق لك أن حاولت طباعة أوراق عمل محددة بناءً على قيمة خلية؟ في هذه المقالة، سأقدم بعض الأمثلة لمعالجة هذه المسألة. إذا كنت مهتمًا، يرجى متابعة القراءة.
طباعة ورقة عمل بناءً على خلية باستخدام VBA
طباعة ورقة عمل بناءً على الخلية المجاورة باستخدام VBA
طباعة ورقة عمل بناءً على خلية باستخدام VBA
لنفترض وجود ورقتين عمل، وتريد طباعة الورقة الأولى أو الثانية أو كليهما بناءً على الخلية A1 في الورقة الأولى. يرجى القيام بما يلي:
في هذه الحالة، إدخال 1 يعني طباعة الورقة الأولى، وإدخال 2 لطباعة الورقة الثانية، و3 لطباعة كلا الورقتين.
1. أدخل 1 أو 2 أو 3 حسب الحاجة إلى الخلية A1 في الورقة الأولى، واضغط على مفاتيح Alt + F11 لفتح نافذة Microsoft Visual Basic for Applications.
2. انقر فوق إدراج > وحدة، والصق الكود أدناه في الوحدة النص البرمجي. انظر لقطة الشاشة:
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
3. اضغط على مفتاح F5 لطباعة الورقة (الأوراق) مباشرة.
طباعة ورقة عمل بناءً على الخلية المجاورة باستخدام VBA
إذا كان لديك عدة أوراق عمل في مصنف، وتريد طباعة واحدة أو أكثر من الأوراق بناءً على قيم الخلايا من هذا المصنف، يمكنك القيام بما يلي:
1. قم بإنشاء ورقة جديدة باسم ورقة التحكم في المصنف الذي تستخدمه، وقم بإدراج جميع أسماء الأوراق في العمود A (تضمين أو استبعاد ورقة التحكم حسب الحاجة). انظر لقطة الشاشة:
2. اكتب “طباعة” في الخلية المجاورة بجانب اسم الورقة إذا كنت تريد طباعتها. انظر لقطة الشاشة الموضحة.
3. اضغط على Alt + F11 لتمكين نافذة Microsoft Visual Basic for Applications وانقر فوق إدراج > وحدة. انظر لقطة الشاشة:
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
بعد تشغيل الكود، سيتم طباعة الورقة (الأوراق) فورًا وفي نفس الوقت، ستستبدل ورقة تحكم جديدة القديمة.

Kutools لـ Excel - قم بتعزيز Excel بأكثر من 300 أدوات أساسية. استمتع بميزات ذكاء اصطناعي مجانية بشكل دائم! احصل عليه الآن
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!