จะพิมพ์แผ่นงานเฉพาะตามค่าเซลล์ใน Excel ได้อย่างไร
คุณเคยลองพิมพ์แผ่นงานเฉพาะตามค่าเซลล์หรือไม่ ในบทความนี้ ฉันจะให้ตัวอย่างบางส่วนเพื่อแก้ไขปัญหานี้ หากคุณสนใจ โปรดอ่านต่อ
พิมพ์แผ่นตามเซลล์ที่อยู่ติดกันด้วย VBA
พิมพ์แผ่นงานตามเซลล์ด้วย VBA
สมมติว่ามีสองแผ่นคุณต้องการพิมพ์ Sheet1 หรือ Sheet2 หรือทั้งสองแผ่นโดยยึดตามเซลล์ A1 ใน Sheet1 กรุณาทำตามด้านล่าง:
ในกรณีนี้ให้ป้อน 1 เพื่อพิมพ์แผ่นงานแรกป้อน 2 เพื่อพิมพ์แผ่นงานที่สองและ 3 เพื่อพิมพ์ทั้งสองแผ่น
1. ป้อน 1, 2 หรือ 3 ตามที่คุณต้องการในแผ่นงานแรกแล้วกด Alt + F11 กุญแจเพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง
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 สำหรับแอปพลิเคชัน หน้าต่างแล้วคลิก สิ่งที่ใส่เข้าไป > โมดูล. ดูภาพหน้าจอ:
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](https://cdn.extendoffice.com/images/stories/doc-excel/print-sheet-by-cell/doc-print-sheet-by-cell-7.png)
Kutools สำหรับ Excel - เพิ่มประสิทธิภาพ Excel ด้วยเครื่องมือที่จำเป็นกว่า 300 รายการ เพลิดเพลินกับฟีเจอร์ AI ฟรีถาวร! Get It Now
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!