วิธี ป ริ้น excel หลายหน้า

เมื่อปรับขนาดเวิร์กชีตของคุณสำหรับการพิมพ์ คุณสามารถจัดข้อมูลของคุณให้พอดีกับหนึ่งหน้า คุณสามารถย่อเอกสาร Excel ของคุณเพื่อจัดข้อมูลให้พอดีตามจำนวนหน้าที่ต้องการได้โดยใช้ตัวเลือก ตั้งค่าหน้ากระดาษ ในแท็บ เค้าโครงหน้ากระดาษ

ย่อเวิร์กชีตให้พอดีกับหนึ่งหน้า

  1. คลิก เค้าโครงหน้ากระดาษ คลิกตัว เปิดใช้กล่องโต้ตอบ ขนาดเล็กที่ด้านล่างขวา ซึ่งจะเปิดกล่องโต้ตอบ ตั้งค่า หน้ากระดาษ

    วิธี ป ริ้น excel หลายหน้า
  2. เลือกแท็บ หน้า ในกล่องโต้ตอบ ตั้งค่าหน้ากระดาษ

    วิธี ป ริ้น excel หลายหน้า
  3. เลือก จัดให้พอดี ภายใต้ มาตราส่วน

  4. เมื่อต้องการจัดเอกสารของคุณให้พอดีที่จะพิมพ์บนหนึ่งหน้า ให้เลือกความกว้าง 1 หน้าสูง 1 หน้าในกล่อง จัดให้พอดีกับ

    วิธี ป ริ้น excel หลายหน้า

    หมายเหตุ: Excel จะย่อข้อมูลของคุณให้พอดีกับจำนวนหน้าที่ระบุไว้ คุณยังสามารถปรับจำนวน จัดให้พอดีกับ เพื่อพิมพ์หลายหน้าได้

  5. กด ตกลง ที่ด้านล่างของกล่องโต้ตอบ ตั้งค่าหน้ากระดาษ

ดูเพิ่มเติม

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

ถ้าคุณต้องการพิมพ์เฉพาะส่วนของเวิร์กชีตคุณสามารถตั้งค่าหรือล้าง พื้นที่พิมพ์บนเวิร์กชีตได้

ฟีเจอร์นี้ไม่พร้อมใช้งานใน Excel สำหรับเว็บ

ถ้าคุณมีแอปพลิเคชัน Excel บนเดสก์ท็อป คุณสามารถใช้ปุ่ม เปิด ใน Excel เพื่อเปิดเวิร์กบุ๊กและปรับมาตรา ส่วนเวิร์กชีตให้พอดีกับข้อมูลในหนึ่งหน้าได้

มีคนถามผมมาว่าเค้ามีข้อมูลใน Excel ที่ต้อง Print ออกมาจำนวนมาก แต่มีปัญหาในการจัดหน้าไม่รู้จะทำยังไงให้ง่าย เนื่องจากว่าจุดแบ่งหน้าในแต่ละหน้าก็ดันไปไม่เท่ากัน (แต่ละหน้าจำนวนข้อมูลไม่เท่ากัน) การจะมานั่งแบ่งหน้า insert page break เอง ก็จะเสียเวลามากๆ

ใครมีปัญหาแบบนี้ก็สบายใจได้เลย เพราะบทความนี้ผมจะมาบอกแนวทางแก้ปัญหาให้เอง ซึ่งทำไม่ยากอย่างที่คิด แถมมีความยืดหยุ่นพอที่จะเอาไปประยุกต์ใช้กัยงานไหนก็ได้ด้วย

ข้อมูลต้นฉบับ

ดาวน์โหลดไฟล์ได้ที่นี่

ผมมีข้อมูลอยู่จำนวนมาก (5000 บรรทัด) ที่เรียงตามคอลัมน์ร้านค้า (StoreKey) แล้วต้องการจะ print ออกมาเป็น pdf

ซึ่งความยากก็คือ เราต้องการแบ่งหน้าทุกครั้งที่มีขึ้นร้านค้าใหม่เสมอ (แต่ถ้าร้านนึงขายเยอะมาก ก็อาจมีหลายหน้าได้นะ)

วิธี ป ริ้น excel หลายหน้า

ตั้งค่าเบื้องต้น

ขั้นตอนแรกที่ผมจะทำก็คือ สั่งตั้งค่าการ print ให้ความกว้าง fit พอดีกับกระดาษ 1 หน้า และสั่งให้มัน repeat การ print หัวตารางบรรทัดที่ 1 เสมอ ซึ่งส่วนนี้ทำได้ง่ายมากๆ

วิธี ป ริ้น excel หลายหน้า

กำหนดจุดที่จะแบ่งหน้า Page Break

ก่อนอื่น เราจะเขียนสูตรขึ้นมา เพื่อให้ mark จุดที่ต้องการจะแบ่งหน้าไว้ก่อน

ในช่อง I2 (ถัดจากข้อมูล) ผมจะใช้สูตร IF เช็คว่าเลข StoreKey มีการเปลี่ยนหรือไม่? ดังนี้

=IF(E2<>E1,"y","n")

จากนั้น Copy ยาวลงไปข้างล่าง เราก็จะได้จุดที่จะทำการ Insert Page Break แล้ว ลอง scroll ลงไปดูข้างล่างได้

วิธี ป ริ้น excel หลายหน้า

ทำยังไงให้ Insert Page Break ในจุดที่ต้องการ?

มาถึงตรงนี้เราจะต้องใช้ Code VBA เล็กๆ น้อยๆ ในการช่วยแล้ว โดยเราจะใส่ Code นี้ลงไปใน Module ของ VBA

โดยอย่าลืมเปิด Ribbon Developer ขึ้นมาก่อน (อยู่ใน Excel Option->Customize Ribbon)

วิธี ป ริ้น excel หลายหน้า

จากนั้น กด Alt+F11 เพื่อเข้าสู่ VB Editor แล้วคลิ๊กขวา Insert Module ตามรูป

วิธี ป ริ้น excel หลายหน้า

แล้ว Paste Code นี้ลงไป เพื่อให้มันวน Loop ใส่ Page Break ในจุดที่เรา Mark ตัว y เอาไว้


Sub InsertBreak_At_Mark()
Dim i As Long
Dim firstAddress As String
Application.ScreenUpdating = False


With Range(ActiveCell, ActiveCell.End(xlDown))
        Set c = .Find("y", LookIn:=xlValues)
        If Not c Is Nothing Then
        firstAddress = c.Address
            Do
                'MsgBox (c.Address)
                c.PageBreak = xlPageBreakManual
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And firstAddress <> c.Address
        End If
    End With

Application.ScreenUpdating = True
End Sub

จากนั้นกลับไปยังหน้า Excel แล้วให้เลือกคอลัมน์ I ที่เราเขียน y/n ไว้ แล้ว Run Code ตามรูป

วิธี ป ริ้น excel หลายหน้า

เท่านี้มันก็จะกำหนดพื้นที่ Mark ให้เรียบร้อยแล้ว ลองกด Page Break Preview ดูได้

วิธี ป ริ้น excel หลายหน้า

เก็บตกจุด Break เกิน ที่บรรทัดที่ 2

อย่างไรก็ตามตอนนี้สุตรเราดัน Mark ว่าจะ Break ที่บรรทัดที่ 2 ด้วย ซึ่งไม่ Makesense ดังนั้นถ้าเราแก้ค่าหรือแก้สูตรให้บรรทัดที่ 2 เป็น n ไปก่อนได้ก็จะดีกว่า หรือจะไป remove page break เองก็ได้เช่นกัน โดยเลือกบรรทัดที่ 2 ไว้ แล้ว Remove Page break ดังรูป

วิธี ป ริ้น excel หลายหน้า

ลอง Print / Save PDF ดู

วิธี ป ริ้น excel หลายหน้า

จะเห็นว่าได้ผลลัธ์ตามต้องการครับ

แชร์ความรู้ให้เพื่อนๆ ของคุณ