كيفية طباعة ورقة محددة بناءً على قيم الخلية في Excel؟
هل سبق لك أن حاولت طباعة بعض الأوراق المحددة بناءً على قيمة الخلية؟ في هذا المقال سوف أتحدث عن بعض الأمثلة حول هذه المشكلة ، إذا كنت مهتمًا بهذه المشكلة ، يرجى المتابعة.
طباعة الورقة على أساس خلية مع VBA
طباعة الورقة على أساس الخلية المجاورة باستخدام VBA
طباعة الورقة على أساس خلية مع VBA
لنفترض وجود ورقتين ، فأنت تريد طباعة الورقة 1 أو الورقة 2 أو كلتا الورقتين بناءً على الخلية A1 في الورقة 1. الرجاء القيام بما يلي:
في هذه الحالة ، أدخل 1 يشير إلى طباعة الورقة الأولى ، وأدخل 2 لطباعة الورقة الثانية ، و 3 لطباعة كلتا الورقتين.
1. أدخل 1 أو 2 أو 3 حسب حاجتك إلى A1 في الورقة الأولى ، ثم اضغط ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة او شباك. انظر لقطة الشاشة:
2. انقر إدراج > وحدة، والصق الكود أدناه في ملف وحدة النصي. انظر لقطة الشاشة:
فبا: طباعة ورقة على أساس قيمة الخلية
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 مفاتيح لتمكين ميكروسوفت فيسوال باسيك للتطبيقات نافذة، وانقر فوق إدراج > وحدة. انظر لقطة الشاشة :
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
بعد تشغيل الكود ، ستتم طباعة الورقة (الأوراق) الآن ، وفي نفس الوقت ، ستحل ورقة تحكم جديدة محل القديمة.
كوتولس ل إكسيل, مع أكثر من 300 وظائف يدوية ، تجعل مهامك أكثر سهولة. |
أفضل أدوات إنتاجية المكتب
عزز مهاراتك في Excel باستخدام Kutools for Excel، واختبر كفاءة لم يسبق لها مثيل. يقدم Kutools for Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية وتوفير الوقت. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير
- تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
- فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
- يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!