เมื่อปรับขนาดเวิร์กชีตของคุณสำหรับการพิมพ์ คุณสามารถจัดข้อมูลของคุณให้พอดีกับหนึ่งหน้า คุณสามารถย่อเอกสาร Excel ของคุณเพื่อจัดข้อมูลให้พอดีตามจำนวนหน้าที่ต้องการได้โดยใช้ตัวเลือก ตั้งค่าหน้ากระดาษ ในแท็บ เค้าโครงหน้ากระดาษ Show ย่อเวิร์กชีตให้พอดีกับหนึ่งหน้า
ดูเพิ่มเติมคุณยังสามารถใช้ตัวแบ่งหน้าเพื่อแบ่งเวิร์กชีตของคุณให้เป็นหน้าที่แยกต่างหากในการพิมพ์ ในขณะที่ Excel ตัวแบ่งหน้าโดยอัตโนมัติ (ระบุด้วยเส้นประ) คุณยังสามารถแทรก ย้าย หรือลบตัวแบ่งหน้า ในเวิร์กชีตได้ ถ้าคุณต้องการพิมพ์เฉพาะส่วนของเวิร์กชีตคุณสามารถตั้งค่าหรือล้าง พื้นที่พิมพ์บนเวิร์กชีตได้ ฟีเจอร์นี้ไม่พร้อมใช้งานใน Excel สำหรับเว็บ ถ้าคุณมีแอปพลิเคชัน Excel บนเดสก์ท็อป คุณสามารถใช้ปุ่ม เปิด ใน Excel เพื่อเปิดเวิร์กบุ๊กและปรับมาตรา ส่วนเวิร์กชีตให้พอดีกับข้อมูลในหนึ่งหน้าได้ มีคนถามผมมาว่าเค้ามีข้อมูลใน Excel ที่ต้อง Print ออกมาจำนวนมาก แต่มีปัญหาในการจัดหน้าไม่รู้จะทำยังไงให้ง่าย เนื่องจากว่าจุดแบ่งหน้าในแต่ละหน้าก็ดันไปไม่เท่ากัน (แต่ละหน้าจำนวนข้อมูลไม่เท่ากัน) การจะมานั่งแบ่งหน้า insert page break เอง ก็จะเสียเวลามากๆ ใครมีปัญหาแบบนี้ก็สบายใจได้เลย เพราะบทความนี้ผมจะมาบอกแนวทางแก้ปัญหาให้เอง ซึ่งทำไม่ยากอย่างที่คิด แถมมีความยืดหยุ่นพอที่จะเอาไปประยุกต์ใช้กัยงานไหนก็ได้ด้วย ข้อมูลต้นฉบับดาวน์โหลดไฟล์ได้ที่นี่ ผมมีข้อมูลอยู่จำนวนมาก (5000 บรรทัด) ที่เรียงตามคอลัมน์ร้านค้า (StoreKey) แล้วต้องการจะ print ออกมาเป็น pdf ซึ่งความยากก็คือ เราต้องการแบ่งหน้าทุกครั้งที่มีขึ้นร้านค้าใหม่เสมอ (แต่ถ้าร้านนึงขายเยอะมาก ก็อาจมีหลายหน้าได้นะ) ตั้งค่าเบื้องต้นขั้นตอนแรกที่ผมจะทำก็คือ สั่งตั้งค่าการ print ให้ความกว้าง fit พอดีกับกระดาษ 1 หน้า และสั่งให้มัน repeat การ print หัวตารางบรรทัดที่ 1 เสมอ ซึ่งส่วนนี้ทำได้ง่ายมากๆ กำหนดจุดที่จะแบ่งหน้า Page Breakก่อนอื่น เราจะเขียนสูตรขึ้นมา เพื่อให้ mark จุดที่ต้องการจะแบ่งหน้าไว้ก่อน ในช่อง I2 (ถัดจากข้อมูล) ผมจะใช้สูตร IF เช็คว่าเลข StoreKey มีการเปลี่ยนหรือไม่? ดังนี้
จากนั้น Copy ยาวลงไปข้างล่าง เราก็จะได้จุดที่จะทำการ Insert Page Break แล้ว ลอง scroll ลงไปดูข้างล่างได้ ทำยังไงให้ Insert Page Break ในจุดที่ต้องการ?มาถึงตรงนี้เราจะต้องใช้ Code VBA เล็กๆ น้อยๆ ในการช่วยแล้ว โดยเราจะใส่ Code นี้ลงไปใน Module ของ VBA โดยอย่าลืมเปิด Ribbon Developer ขึ้นมาก่อน (อยู่ใน Excel Option->Customize Ribbon) จากนั้น กด Alt+F11 เพื่อเข้าสู่ VB Editor แล้วคลิ๊กขวา Insert Module ตามรูป แล้ว Paste Code นี้ลงไป เพื่อให้มันวน Loop ใส่ Page Break ในจุดที่เรา Mark ตัว y เอาไว้
จากนั้นกลับไปยังหน้า Excel แล้วให้เลือกคอลัมน์ I ที่เราเขียน y/n ไว้ แล้ว Run Code ตามรูป เท่านี้มันก็จะกำหนดพื้นที่ Mark ให้เรียบร้อยแล้ว ลองกด Page Break Preview ดูได้ เก็บตกจุด Break เกิน ที่บรรทัดที่ 2อย่างไรก็ตามตอนนี้สุตรเราดัน Mark ว่าจะ Break ที่บรรทัดที่ 2 ด้วย ซึ่งไม่ Makesense ดังนั้นถ้าเราแก้ค่าหรือแก้สูตรให้บรรทัดที่ 2 เป็น n ไปก่อนได้ก็จะดีกว่า หรือจะไป remove page break เองก็ได้เช่นกัน โดยเลือกบรรทัดที่ 2 ไว้ แล้ว Remove Page break ดังรูป ลอง Print / Save PDF ดูจะเห็นว่าได้ผลลัธ์ตามต้องการครับ แชร์ความรู้ให้เพื่อนๆ ของคุณ |