วิธีใช้ Excel VBA สำหรับการพิมพ์

เจ้าของธุรกิจขนาดเล็กและผู้ประกอบการหลายล้านคนทั่วโลกใช้ Microsoft Excel เพื่อช่วยงานด้านบัญชีการคาดการณ์และงานสินค้าคงคลัง ด้วยเครื่องมือที่ผสานรวมของ Excel ทำให้การส่งสเปรดชีตหรือเวิร์กบุ๊กไปยังผู้อื่นในอีเมลเป็นเรื่องง่าย อย่างไรก็ตามมีหลายครั้งที่ไม่มีอะไรที่จะดีกว่าการสำเนาข้อมูลสเปรดชีต แน่นอนคุณสามารถใช้ตัวเลือกเมนู“ ไฟล์ | พิมพ์” บนแถบริบบิ้นเพื่อสร้างสเปรดชีตเวอร์ชันที่พิมพ์ออกมา อย่างไรก็ตามโดยใช้ Visual Basic สำหรับแอปพลิเคชันหรือ VBA คุณสามารถสร้างแมโครหรือปุ่มคำสั่งเพื่อทำงานการพิมพ์ต่างๆภายใน Excel ได้เร็วขึ้นและมีประสิทธิภาพมากขึ้น

เปิดใช้งานแท็บนักพัฒนาซอฟต์แวร์

1

เรียกใช้ Microsoft Excel และเปิดสมุดงานหรือแม่แบบที่คุณต้องการโปรแกรมฟังก์ชั่นการพิมพ์ VBA คลิก“ ไฟล์” บน Ribbon ของ Excel แล้วเลือก“ ตัวเลือก”

2

ค้นหาและคลิกที่ส่วนหัว "ปรับแต่งริบบิ้น" ในบานหน้าต่างด้านซ้ายของหน้าต่าง "ตัวเลือกของ Excel" คลิกช่องทำเครื่องหมายถัดจาก“ นักพัฒนา” ในส่วนแท็บหลักภายใต้ป้ายกำกับ "ปรับแต่งริบบิ้น"

3

คลิกปุ่ม“ ตกลง” เพื่อเปิดใช้งานแท็บ "นักพัฒนา" บน Ribbon และปิดหน้าต่าง "ตัวเลือกของ Excel" หลังจากที่คุณปิดหน้าต่างตัวเลือก Excel จะแสดงแท็บผู้พัฒนาบนแถบริบบิ้นโดยอัตโนมัติ

สร้างปุ่มพิมพ์ด้วย VBA

1

คลิกที่แท็บ“ นักพัฒนา” บนริบบิ้น คลิกลูกศรดร็อปดาวน์ไอคอน "แทรก" ในส่วน "การควบคุม" ของแท็บ "นักพัฒนา" คลิกไอคอน“ การควบคุมปุ่ม” ใต้ "การควบคุมแบบฟอร์ม"

2

คลิกเซลล์ในสเปรดชีตที่คุณต้องการวางปุ่มพิมพ์ หลังจากคุณคลิกและเลือกเซลล์หน้าต่าง "กำหนดมาโคร" จะปรากฏขึ้นโดยอัตโนมัติ

3

ป้อน“ PrintCurrentSheet” หรือสิ่งที่คล้ายกันในฟิลด์“ ชื่อแมโคร” อย่าใช้ช่องว่างในชื่อแมโคร คลิกปุ่ม“ ใหม่” หน้าต่าง Visual Basic for Applications จะปรากฏขึ้นและแสดงหน้าต่างรหัสใหม่

4

วางเคอร์เซอร์ของเมาส์ในช่องว่างระหว่างค่า“ Sub PrintCurrentSheet ()” และ“ End Sub” พิมพ์คำสั่งต่อไปนี้:

ActiveSheet.PrintOut

5

คลิกที่ไอคอนฟลอปปี้ดิสก์บนแถบเครื่องมือตัวแก้ไข VBA เพื่อบันทึกรหัส ปิดหน้าต่างตัวแก้ไข VBA

6

คลิกขวาที่ปุ่มคำสั่งใหม่และไฮไลต์ข้อความ“ ปุ่ม 1” เริ่มต้น เปลี่ยนข้อความป้ายกำกับปุ่มเป็น“ พิมพ์ด่วน” หรือชื่อที่สื่อความหมายอื่น

7

คลิกที่ปุ่มคำสั่งใหม่ Excel พิมพ์สเปรดชีตที่ใช้งานอยู่บนเครื่องพิมพ์เริ่มต้นของ Windows โดยไม่แสดงกล่องโต้ตอบ“ พิมพ์” ปกติ

เคล็ดลับ

  • คุณสามารถใช้วิธีการเดียวกันเพื่อสร้างฟังก์ชั่นการพิมพ์จำนวนมากใน Excel โดยใช้ VBA ขั้นตอนในการสร้างปุ่มฟังก์ชั่นการพิมพ์เหมือนกัน เพียงคำสั่งไวยากรณ์แตกต่างกัน
  • ในการพิมพ์เวิร์กชีททั้งหมดในเวิร์กบุ๊กปัจจุบันโดยไม่แสดงหน้าต่างไดอะล็อกการพิมพ์ให้แทนที่คำสั่ง“ ActiveSheet.PrintOut” ด้วย“ Worksheets.PrintOut” หรือ“ ActiveWorkbook.PrintOut”
  • คุณสามารถสร้างปุ่มพิมพ์ด่วนสำหรับเซลล์ที่คุณเลือกด้วยเมาส์โดยใช้คำสั่ง“ Selection.PrintOut” ในรหัส VBA
  • หากคุณต้องการพิมพ์ไปยังเครื่องพิมพ์เฉพาะที่ไม่ใช่ค่าเริ่มต้นของ Windows ให้ใช้รหัสต่อไปนี้สำหรับปุ่มคำสั่งในหน้าต่างรหัส VBA:
  • Sub QuickChangePrinter ()
  • ติ่ม sNewPrinter As String
  • sNewPrinter = ActivePrinter
  • ActivePrinter = "ป้อนชื่อ Windows ของเครื่องพิมพ์ที่นี่"
  • Application.PrintOut FileName: = ""
  • ActivePrinter = sNewPrinter
  • ส่วนท้าย

โพสต์ยอดนิยม