บทความนี้จะแสดงวิธีเปลี่ยน มาตราส่วนการพิมพ์ (printing scale) ให้คอลัมน์ทั้งหมดพิมพ์ในหน้าเดียว บางครั้งสมุดงาน Excel อาจมีคอลัมน์มากเกินไปจน ไม่พอดีในหน้าเดียว ขณะพิมพ์ชุดข้อมูล ในกรณีนั้น คุณไม่สามารถพิมพ์แผ่นงานพร้อมคอลัมน์ที่ต้องการทั้งหมดได้ บทความนี้คุณจะได้เห็นวิธีที่มีประสิทธิภาพและมีประสิทธิผล เพื่อพิมพ์แผ่น Excel พร้อมคอลัมน์ทั้งหมด
7 วิธีเปลี่ยนมาตราส่วนการพิมพ์ ให้คอลัมน์ทั้งหมดพิมพ์ในหน้าเดียว
ในชุดข้อมูล เรามีข้อมูลการขายยาบางชนิด ชุดข้อมูลประกอบด้วย 7 คอลัมน์ วิธีทั้งหมดที่จะอธิบายในส่วนต่อไปนี้ ทั้งหมดรวดเร็วและเรียบง่าย

1. เปลี่ยนมาตราส่วนการพิมพ์จากเมนู File
ในส่วนนี้ จะแสดงวิธีใช้คุณสมบัติ Scale เพื่อเปลี่ยนการปรับขนาด และ ให้คอลัมน์ทั้งหมดอยู่ในหน้าเดียว ขณะพิมพ์ ให้ทำตามคำอธิบายด้านล่าง
ขั้นตอน:
- ไปที่เมนู File >> Print หรือกด CTRL+P เพื่อเปิดตัวเลือกการพิมพ์ คุณจะเห็นว่าไม่ใช่คอลัมน์ทั้งหมดที่ปรากฏในส่วนพรีวิว เนื่องจากเรายังไม่ได้ตั้งค่าการปรับขนาด

- ตั้งค่าการปรับขนาดเป็น Fit All Columns on One Page ตอนนี้คุณจะเห็นคอลัมน์ทั้งหมดของชุดข้อมูลในส่วนพรีวิว แม้จะมองไม่ชัดก็ตาม
- เพื่อแสดงตัวอย่างการพิมพ์ที่ชัดเจน ผมได้เปิดกระบวนการพิมพ์โดยเลือก Print

- หน้าต่าง Save Print Output As จะปรากฏ การบันทึกเป็น PDF สะดวกที่สุด จึงเลือก .pdf และตั้งชื่อไฟล์
- คลิก Save

- ไปที่ตำแหน่ง File และเปิดไฟล์ คุณจะได้มุมมองชัดเจนของสำเนาการพิมพ์

ดังนั้น คุณสามารถเปลี่ยน มาตราส่วนการพิมพ์ ให้คอลัมน์ทั้งหมดพิมพ์ในหน้าเดียวได้
หมายเหตุ:
คุณสามารถใช้เทคนิคง่ายๆ นี้เพื่อให้คอลัมน์ทั้งหมดอยู่ในสำเนาการพิมพ์ อย่างไรก็ตาม หากแผ่นงานของคุณมีแถวมากเกินไปจนไม่พอดีในหน้าเดียว มีอีกสิ่งหนึ่งที่คุณอาจต้องทำ คือ หัวคอลัมน์ควรปรากฏในทุกหน้า และเพื่อเหตุผลนั้น เราจะทำตามขั้นตอนด้านล่าง
- ไปที่แท็บ Page Layout แล้วเลือกริบบิ้น Print Titles จากกลุ่ม Page Setup ผมเพิ่มแถวเพิ่มเติมในชุดข้อมูล
- เลือก Sheet และเลือก แถวหัวข้อ ให้ปรากฏซ้ำด้านบนในทุกหน้า ในกรณีของผม หัวข้ออยู่ที่แถว ที่ 4 จึงเลือกแถวนั้น
- คลิก OK

- พิมพ์สำเนาและบันทึกเป็น PDF Document เหมือนเดิม ผมเปิดไฟล์และไปที่หน้า ที่ 2 คุณจะเห็นว่าหัวข้อก็อยู่ในหน้านั้นเช่นกัน

อ่านเพิ่มเติม: ทำไม Excel Sheet ของฉันพิมพ์ออกมาน้อยมาก (เหตุผลและวิธีแก้)
2. ใช้แท็บ Page Layout เพื่อเปลี่ยนมาตราส่วนการพิมพ์
เรายังสามารถเปลี่ยน มาตราส่วนการพิมพ์ จาก แท็บ Page Layout และให้คอลัมน์ทั้งหมดของแผ่นข้อมูลอยู่ในหน้าเดียวสำหรับสำเนาการพิมพ์ ให้อ่านคำอธิบายด้านล่าง
ขั้นตอน:
- เลือก แท็บ Page Layout และคลิกที่ Page Setup icon ที่มุมล่างขวาของกลุ่ม Page Setup
- ตั้งค่า Scaling Fit to 1 Page และคลิก Print

- บันทึกไฟล์เหมือน วิธี 1 และเปิดไฟล์ คุณจะเห็นพรีวิวของสำเนาการพิมพ์

ดังนั้น คุณสามารถเปลี่ยน มาตราส่วนการพิมพ์ ให้คอลัมน์ทั้งหมดพิมพ์ในหน้าเดียวโดยใช้ Layout Tab ได้
อ่านเพิ่มเติม: วิธี Stretch Excel Spreadsheet ให้เต็มหน้าพิมพ์ (5 วิธีง่าย)
3. ใช้คุณสมบัติ Landscape เพื่อเปลี่ยนมาตราส่วนการพิมพ์
อีกวิธีที่เป็นไปได้คือ ใช้คุณสมบัติ Landscape แทน Portrait ให้ทำตามคำแนะนำด้านล่าง
ขั้นตอน:
- เปิดหน้าต่าง Page Setup ตาม วิธี 2
- เลือก Page และเปลี่ยน Orientation จาก Portrait เป็น Landscape
- ตรวจสอบว่า Scaling เป็น Adjusted to 100% ขนาดปกติ
- เลือก Print หรือ Print Preview ตามต้องการ

ในส่วนพรีวิว คุณจะเห็นว่าคอลัมน์ทั้งหมดอยู่ในหน้าเดียวกัน

โดยทำตามแนวทางนี้ คุณสามารถเปลี่ยน มาตราส่วนการพิมพ์ ให้คอลัมน์ทั้งหมดพิมพ์ในหน้าเดียวโดยใช้ คุณสมบัติ Landscape ได้
อ่านเพิ่มเติม: วิธีปรับขนาดหน้าสำหรับการพิมพ์ใน Excel (6 เทคนิคเร็ว)
4. ใช้ VBA เพื่อเปลี่ยนมาตราส่วนการพิมพ์ พิมพ์คอลัมน์ทั้งหมดในหน้าเดียว
เรายังสามารถใช้ Microsoft Visual Basic for Applications (VBA) เพื่อพิมพ์คอลัมน์ทั้งหมดได้อย่างมีประสิทธิภาพ เราไม่จำเป็นต้องปรับขนาดพื้นที่พิมพ์ขณะใช้ VBA เพราะ VBA จะปรับพื้นที่พิมพ์ให้อัตโนมัติหลังจากรัน Macro ที่เกี่ยวข้อง ให้ไปที่ขั้นตอนด้านล่างเพื่อความเข้าใจที่ดีขึ้น
ขั้นตอน:
- ไปที่แท็บ Developer และเลือก Visual Basic

- ตัวแก้ไข VBA จะเปิดขึ้น เลือก Insert >> Module เพื่อเปิด VBA Module

- พิมพ์โค้ดต่อไปนี้ใน VBA Module
Sub PrintRangeFromSheet()
Application.PrintCommunication = False
With Sheets("vba").PageSetup
.FitToPagesWide = 1
.FitToPagesTall = False
End With
Application.PrintCommunication = True
Sheets("vba").PrintPreview
'Sheets("vba").PrintOut
End Sub

ที่นี่ เราใช้คุณสมบัติ VBA Sheets.PrintOut เพื่อพิมพ์แผ่น 'vba' คุณสมบัติ .FitToPagesWide และ .FitToPagesTall ใช้เพื่อให้คอลัมน์ทั้งหมดอยู่ในหน้าเดียว เนื่องจากต้องการแสดงตัวอย่าง จึงคอมเมนต์บรรทัด PrintOut และใช้ PrintPreview แทน คุณสามารถลบบรรทัด PrintPreview และอโพสโทรฟี (') จากบรรทัด PrintOut ได้ หากต้องการพิมพ์ช่วงข้อมูลโดยตรง
- กลับไปที่แผ่นงานและรัน Macro ชื่อ PrintRangeFromSheet เนื่องจากนี่คือชื่อของ Macro ปัจจุบัน

ต่อไป คุณจะเห็นพรีวิวของสำเนาการพิมพ์

ดังนั้น คุณสามารถรวมคอลัมน์ทั้งหมดในหน้าเดียวได้โดยใช้ VBA สำหรับการพิมพ์
5. เปลี่ยนมาตราส่วนการพิมพ์โดยการเลือกช่วง (Range Selection)
เรายังสามารถเลือกช่วงเซลล์ที่ต้องการพิมพ์พร้อมคอลัมน์ทั้งหมดในหน้าเดียว ได้ที่นี่เราจะใช้ VBA สำหรับวัตถุประสงค์นี้ ให้อ่านคำอธิบายด้านล่างเพื่อมุมมองที่ดีขึ้น
ขั้นตอน:
- ทำตามขั้นตอนเพื่อเปิด VBA Module จาก วิธี 4
- พิมพ์โค้ดต่อไปนี้ใน Module
Sub SelectionToPrint()
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = False
End With
Application.PrintCommunication = True
Selection.PrintPreview
'Selection.PrintOut
End Sub

ที่นี่ เราใช้คุณสมบัติ VBA Selection เพื่อเลือกช่วงเซลล์เฉพาะเพื่อพิมพ์ คุณสมบัติอื่นๆ สำหรับการให้คอลัมน์ทั้งหมดอยู่ในหน้าหนึ่งของสำเนาการพิมพ์
- กลับไปที่แผ่นงาน เลือกช่วงข้อมูลที่ต้องการพิมพ์ และรัน Macro ชื่อ SelectionToPrint

หลังจากนั้น คุณจะเห็นพรีวิวของสำเนาการพิมพ์ เนื่องจากเราเปิดใช้งานคุณสมบัติ PrintPreview แทน PrintOut

ดังนั้น คุณสามารถเปลี่ยน มาตราส่วนการพิมพ์ ให้คอลัมน์ทั้งหมดปรากฏในหน้าเดียวโดยการเลือกช่วงได้
6. ใช้คุณสมบัติ Range
เนื่องจากเรากำลังใช้ VBA เรายังสามารถทำสิ่งเดียวกันได้โดยใช้คุณสมบัติ Range ของ VBA ให้ทำตามคำแนะนำด้านล่าง
ขั้นตอน:
- ทำตามขั้นตอนเพื่อเปิด VBA Module จาก วิธี 4
- พิมพ์โค้ดต่อไปนี้ใน Module
Sub PrintByRangeProperty()
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = False
End With
Application.PrintCommunication = True
Range("B2:H15").PrintPreview
'Range("B2:H15").PrintOut
End Sub

ที่นี่ เราใช้คุณสมบัติ VBA Range เพื่อกำหนดช่วงเซลล์เฉพาะเพื่อพิมพ์ เนื่องจากข้อมูลการพิมพ์ครอบคลุมช่วง B2:H15 เราจึงใช้ช่วงนี้ในคุณสมบัติ คุณสมบัติอื่นๆ สำหรับการให้คอลัมน์ทั้งหมดอยู่ในหน้าหนึ่งของสำเนาการพิมพ์
- กลับไปที่แผ่นงานและรัน Macro ชื่อ PrintByRangeProperty

หลังจากนั้น คุณจะเห็นพรีวิวของสำเนาการพิมพ์ เนื่องจากเราเปิดใช้งานคุณสมบัติ PrintPreview แทน PrintOut

ดังนั้น คุณสามารถเปลี่ยน มาตราส่วนการพิมพ์ และพิมพ์สำเนาพร้อมคอลัมน์ทั้งหมดของชุดข้อมูลโดยใช้คุณสมบัติ VBA Range ได้
7. ใช้ Custom Margin (ขอบเขตแบบกำหนดเอง)
อีกวิธีหนึ่งในการเปลี่ยน มาตราส่วนการพิมพ์ ของสำเนาการพิมพ์ หากคุณต้องการปรับแต่งสำเนาด้วยตัวเอง คือ ใช้ Custom Margin คุณอาจไม่สามารถให้คอลัมน์ทั้งหมดพอดีได้ หากชุดข้อมูลมีคอลัมน์มากมาย ให้ดูวิธีการทำงาน
ขั้นตอน:
- เปิดหน้าต่าง Page Setup ตาม วิธี 2
- เลือก Margin และเปลี่ยนค่าขอบเขตตามความสะดวก ที่นี่ผมใช้ขอบเขตแคบที่สุดโดยทำให้ค่า Left และ Right เป็น 0 (ศูนย์)
- เลือก Print เพื่อพิมพ์สำเนา

- บันทึกไฟล์ตาม วิธี 1 และเปิดไฟล์ คุณจะเห็นว่ามีคอลัมน์หายไปหนึ่งคอลัมน์จากหน้าแรกของสำเนาการพิมพ์

อย่างไรก็ตาม คุณจะได้คอลัมน์อีกคอลัมน์ในหน้าถัดไป

วิธีนี้ไม่มีประสิทธิภาพเท่าวิธีก่อนหน้า อย่างไรก็ตาม หากชุดข้อมูลของคุณมีจำนวนคอลัมน์ปานกลาง วิธีนี้อาจใช้ได้ แต่ไม่เหมาะสำหรับชุดข้อมูลขนาดใหญ่
อ่านเพิ่มเติม: Excel Fit to Page Scale/Preview Looks Small (5 วิธีแก้ที่เหมาะสม)
ส่วนฝึกปฏิบัติ
ที่นี่ ผมให้ชุดข้อมูลของบทความนี้ เพื่อให้คุณฝึกปฏิบัติวิธีเหล่านี้ด้วยตัวเอง

สรุป
สุดท้าย บทความนี้จะให้ผลลัพธ์ที่ดีที่สุดในการเปลี่ยน มาตราส่วนการพิมพ์ ให้คอลัมน์ทั้งหมดพิมพ์ในหน้าเดียว หากคุณมีวิธีที่ดีกว่า คำถาม หรือข้อเสนอแนะเกี่ยวกับบทความนี้ โปรดแชร์ในกล่องความคิดเห็น นี่จะช่วยให้ผมปรับปรุงบทความในอนาคต สำหรับคำถามเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ ExcelDemy
บทความที่เกี่ยวข้อง
- วิธี Fit Excel Sheet on One Page in Word (3 วิธีง่าย)
- เพิ่มขนาดกระดาษ Legal ใน Excel
- วิธีเพิ่มขนาดกระดาษ A3 ใน Excel (2 วิธีเร็ว)