เพื่อมุ่งให้เกิดคุณภาพจากการอบรมสูงสุด Excel Expert Training ให้การอบรม Excel กลุ่มเล็กๆ ไม่เกิน 6 คนทุกคนสามารถเรียนรู้ Excel อย่างใกล้ชิด จะมาคนเดียวหรือมาเป็นกลุ่มแล้วนัดวันอบรมแบบส่วนตัวก็ได้ ผู้เข้าอบรมทุกคนสามารถติดตามเนื้อหาที่อบรมได้อย่างชัดเจนจากจอภาพด้านหน้าของตัวเอง
Results 1 to 10 of 15

Thread: ใช้ macro ในการ SetPrintArea ได้หรือไม่

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    p_d
    Guest

    ใช้ macro ในการ SetPrintArea ได้หรือไม่

    อยากทราบว่าจากไฟล์ตัวอย่างเราสามารถใช้ macro มาช่วยในการ SetPrintArea ได้หรือไม่คะ เพราะเวลาสั่งต้องมานั่ง set และ clear ทีละvendor ทำให้เสียเวลามาก พอจะมีวิธีให้สั่งปริ้นครั้งเดียวออกมาแยก vendor ได้หรือไม่คะ ขอบคุณค่ะ

  2. #2
    gaka
    Guest
    ทดลองบันทึก Macro โดยทำการกำหนด Printarea จะได้
    ActiveSheet.PageSetup.PrintArea = "$A$1:$C$12"
    ดังนั้นถ้าต้องการพื้นที่ใหม่ ก็ใส่ลงไปแทน "$A$1:$C$12"
    สังเกตว่ามี " ปิดหัวท้าย แสดงว่าเป็น String ครับ

  3. #3
    p_d
    Guest
    ขอบคุณค่ะ คุณ gaka แต่ว่าดิฉันไม่ทราบ area ที่แน่นอนนะคะ เพราะแต่ละ vendor จะมีข้อมูลไม่เท่ากัน และหาก dowload ข้อมูลใหม่ข้อมูลก็จะเปลี่ยนไป แต่ช่วงที่เว้นว่างของแต่ะละ vendor จะเท่าเดิมเหมือนไฟล์แนบ พอจะมีสูตรไหนช่วยได้ไหมคะ เพราะต้องทำทุกเดือนซึ่งนานมากกว่าจะเสร็จ (ข้อมูลมีเยอะมาก)

  4. #4
    สมเกียรติ
    Guest
    ลองแนบแฟ้มตัวอย่างมาดูกันครับ ตารางไม่ต้องใหญ่ อยากดูว่าโครงสร้างตารางที่จะพิมพ์เป็นอย่างไร มีข้อมูลใดที่เป็นจุดชี้ในการกำหนดพื้นที่พิมพ์

    ที่จะยากก็คือ ต้องการให้แบ่งพิมพ์โดยมี Page Break ต่างไปจากเดิมในข้อมูลแต่ละครั้งด้วยไหม

  5. #5
    p_d
    Guest
    ตัวอย่าง report ที่ต้องการปริ้นค่ะ โดยแต่ละ vendor ต้องปริ้นแยกกันเพื่อส่งให้แต่ละ vendor

  6. #6
    สมเกียรติ
    Guest
    ดูตัวอย่างแล้วเห็นว่าแยกพิมพ์แต่ละตารางตามแต่ละชีทใช่ไหมครับ อย่างนี้ทำได้ไม่ยาก ให้ใช้ Macro Recorder บันทึกตามนี้
    1. กดปุ่ม Ctrl+Home เพื่อไปที่เซลล์แรกในตาราง
    2. กดปุ่ม Ctrl+Shift+End เพื่อเลือกเซลล์ไปจนถึงเซลล์สุดท้ายในตาราง
    3. สัง File > Print > กาช่อง Selection เพื่อให้พิมพ์พื้นที่ที่เลือกไว้
    จะได้รหัสตามนี้ ซึ่งนำไปใช้ได้กับทุกชีท
    Code:
    Sub MyPrint()
        Range("A1").Select
        Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
        Selection.PrintOut Copies:=1, Collate:=True
        Range("A1").Select
    End Sub
    เคยอ่านพบว่า xlLastCell จะหาตำแหน่งพลาดใน Excel รุ่นก่อนๆ ไม่ทราบว่ารุ่น 2003 นี้แก้ไขหรือยัง ถ้าพบว่าหาตำแหน่งพลาด ให้สั่ง Save File แล้วเปิดแฟ้มขึ้นมาใหม่ จะทำให้หา xlLastCell ได้ถูกต้อง

    แต่ถ้าในชีทหนึ่งๆ ต้องแบ่งแยกตารางออกไปพิมพ์แยกเรื่องกัน จะทำได้ยากครับ

Similar Threads

  1. Replies: 1
    Last Post: 13 Nov 2009, 10:31
  2. Replies: 5
    Last Post: 10 Nov 2008, 22:33
  3. macro ใช้ for...next
    By noong101 in forum Excel Expert Forum Library 2012 - 2007
    Replies: 3
    Last Post: 2 May 2008, 13:40
  4. ติดค่า #Value ในการ link ข้ามไฟล์
    By Nattawee in forum Excel Expert Forum Library 2012 - 2007
    Replies: 3
    Last Post: 20 Mar 2008, 10:21
  5. ต้องการคำสั่ง vba ในการ set path
    By stromrider in forum Excel Expert Forum Library 2012 - 2007
    Replies: 1
    Last Post: 13 Feb 2008, 10:14

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •