วิธีปริ้น 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 ดังรูป

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

เคล็ดลับ: 

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

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

  • ถ้าเส้นตารางไม่ปรากฏเมื่อคุณแสดงตัวอย่างหรือพิมพ์แผ่นงาน บนเมนู ไฟล์ให้คลิกตั้งค่าหน้ากระดาษ จากนั้น บนแท็บ แผ่นงาน ตรวจสอบให้แน่ใจว่าได้เลือกกล่องกา เครื่องหมาย คุณภาพแบบร่าง ไว้

  • ถ้าเส้นตารางไม่พิมพ์ อาจมีปัญหากับโปรแกรมควบคุมเครื่องพิมพ์ของคุณ ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งโปรแกรมควบคุมล่าสุดจากผู้ผลิตเครื่องพิมพ์

    ตามค่าเริ่มต้น เส้นตารางจะไม่ปรากฏบนเวิร์กชีตหรือเวิร์กบุ๊กที่Microsoft Excelพิมพ์ออกมา บทความนี้จะอธิบายวิธีที่คุณสามารถให้เส้นตารางปรากฏในเวิร์กชีตที่พิมพ์ของคุณ

    1. เลือกเวิร์กชีตเดียวหรือเวิร์กชีตหลายรายการที่คุณต้องการพิมพ์ ดูข้อมูลเพิ่มเติมที่ เลือกเวิร์กชีตหนึ่งเวิร์กชีตหรือหลายเวิร์กชีต

      เคล็ดลับ: เมื่อเลือกเวิร์กชีตหลายแผ่น [กลุ่ม ] จะปรากฏขึ้นในแถบชื่อเรื่องที่ด้านบนสุดของเวิร์กชีต เมื่อต้องการยกเลิกการเลือกเวิร์กชีตหลายแผ่นในเวิร์กบุ๊ก ให้คลิกเวิร์กชีตใดก็ได้ที่ไม่ได้เลือก ถ้าไม่เห็นแผ่นงานที่ไม่ได้เลือก ให้คลิกขวาที่แท็บของแผ่นงานที่เลือก แล้วคลิกยกเลิกการจัดกลุ่มแผ่นงาน

    2. บนแท็บ เค้าโครงหน้ากระดาษ ในกลุ่ม ตัวเลือกของแผ่นงาน ให้เลือกกล่องกาเครื่องหมาย พิมพ์ ภายใต้ เส้นตาราง

      วิธีปริ้น excel ให้มีตาราง

      หมายเหตุ: ถ้ากล่องกาเครื่องหมายในกลุ่ม ตัวเลือกของ แผ่นงาน ปรากฏเป็นสีซีด อาจเป็นเพราะคุณมีแผนภูมิ รูป หรือวัตถุอื่นๆ ที่เลือกไว้บนเวิร์กชีต ถ้าคุณยกเลิกการเลือกคุณจะไม่สามารถใช้กล่องกาเครื่องหมายได้

    3. คลิกแท็บ ไฟล์ แล้วคลิก พิมพ์

      แป้นพิมพ์ลัด   คุณยังสามารถกด Ctrl+P ได้

    4. คลิกปุ่ม พิมพ์

    ขั้นตอนต่อไป

    หลังจากที่คุณเลือกกล่องกา เครื่องหมาย พิมพ์ แล้ว คุณอาจต้องการปฏิบัติตามขั้นตอนต่อไปนี้

    • แสดงตัวอย่างเส้นตาราง    – เมื่อต้องการดูว่าเส้นตารางจะพิมพ์ออกมาอย่างไร ให้กด Ctrl+F2 เพื่อเปิด แท็บ ไฟล์ ซึ่งแสดงตัวอย่างของเวิร์กชีตที่พิมพ์ เส้นตารางจะพิมพ์เฉพาะข้อมูลจริงในเวิร์กชีตเท่านั้น ถ้าคุณต้องการพิมพ์เส้นตารางรอบเซลล์ว่างคุณต้องตั้งค่า พื้นที่การพิมพ์ เพื่อรวมเซลล์เหล่านั้น หรือคุณสามารถปรับใช้เส้นขอบรอบเซลล์แทนได้ เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับตัวเลือกเหล่านี้ ให้ดู กําหนดหรือล้างพื้นที่พิมพ์บนเวิร์กชีต หรือ ใช้หรือเอาเส้นขอบเซลล์บนเวิร์กชีตออก

    • แก้ไขปัญหาการพิมพ์เส้นตาราง    – ถ้าเส้นตารางไม่แสดงขึ้นเมื่อคุณพิมพ์เวิร์กชีตของคุณ หรือถ้าคุณไม่เห็นเส้นตารางในหน้าต่าง แสดงตัวอย่างก่อนพิมพ์ ให้ตรวจสอบว่าไม่ได้เลือกกล่องกาเครื่องหมาย คุณภาพแบบร่างไว้ กล่อง กาเครื่องหมาย คุณภาพแบบร่าง จะปรากฏ บนแท็บ แผ่นงาน ในกล่องโต้ตอบ ตั้งค่า หน้ากระดาษ เมื่อต้องการทางลัดเพื่อเข้าถึงกล่องโต้ตอบ ตั้งค่า หน้ากระดาษ ให้กด Alt+P, S, P

      วิธีปริ้น excel ให้มีตาราง

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

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