Page 1 of 1

แก้ปัญหาปุ่มคำสั่งที่เขียนVBA ปรับขนาดลดลงเมื่อPrint Out

Posted: Wed Jan 11, 2017 8:45 am
by BadboY
เรียน อาจารย์ และเพื่อนสมาชิก ที่เคารพ
ผมติดปัญหา เมื่อ กดปุ่มคำสั่ง Print&SAVE
แล้ว ปริ้นออกมาได้ปกติ แต่ขนาดของปุ่มคำสั่ง ปรับขนาดลดลง และย้ายตำแหน่ง
ผมทดลองปรับคุณสมบัติปุ่มแล้วก็ยังไม่สามารถแก้ปัญหานี้ได้
อยากถามว่าจะมีวิธีแก้ไขปัญหานี้ได้อย่างไรครับ
ขอบคุณครับ

Re: แก้ปัญหาปุ่มคำสั่งที่เขียนVBA ปรับขนาดลดลงเมื่อPrint Out

Posted: Wed Jan 11, 2017 4:46 pm
by snasui
:D กำหนดตามด้านล่างครับ

คลิกแถบ Developer > Design Mode > คลิกขวาที่ CommandButton1 > Format Control > ที่แถบ Properties กำหนด Object positioning เป็น Don't move or size with cells > OK

Re: แก้ปัญหาปุ่มคำสั่งที่เขียนVBA ปรับขนาดลดลงเมื่อPrint Out

Posted: Wed Jan 11, 2017 5:13 pm
by BadboY
อาจารย์ครับ ผมทำตามแล้ว แต่ก็ เป็นแบบเดิมครับ ผมได้แนบไฟล์ที่ผมแก้ไขกลับมาให้อีกครั้งครับ
(จะเกี่ยวข้องกับการที่ผมตั้งหน้ากระดาษให้ปริ้น ลดลงเหลือ30% หรือไม่ครับ)

Re: แก้ปัญหาปุ่มคำสั่งที่เขียนVBA ปรับขนาดลดลงเมื่อPrint Out

Posted: Wed Jan 11, 2017 5:19 pm
by BadboY
อาจารย์ครับ ผมทดลองปริ้น100% แล้วครับ
ผมปรากฏ ว่าปุ่ม ไม่ปรับขนาดลดลงครับ
แต่ปัญหาคือ งานที่พิมพ์ออกมา ไม่ ได้ตามหน้ากระดาษที่เราต้องการจะให้พิมพ์ ครับ

Re: แก้ปัญหาปุ่มคำสั่งที่เขียนVBA ปรับขนาดลดลงเมื่อPrint Out

Posted: Wed Jan 11, 2017 5:38 pm
by snasui
:D เรื่องปุ่มไม่น่าจะเกี่ยวกับขนาดหน้ากระดาษ ลองแนบไฟล์ที่ปรับปรุงล่างสุดมาดูกันครับ

Re: แก้ปัญหาปุ่มคำสั่งที่เขียนVBA ปรับขนาดลดลงเมื่อPrint Out

Posted: Wed Jan 11, 2017 5:49 pm
by BadboY
อาจารย์ครับ ผมแนบไฟล์ล่าสุดให้ครับ (โดยset หน้ากระดาษ ตรงตามความต้องการกับPrinter และที่เราต้องการprint Out)

Re: แก้ปัญหาปุ่มคำสั่งที่เขียนVBA ปรับขนาดลดลงเมื่อPrint Out

Posted: Wed Jan 11, 2017 6:03 pm
by snasui
:D ลองดูตัวอย่างการปรับ Code ตามไฟล์แนบครับ

Code: Select all

Sub SaveAndPrint()
    Dim J As Integer 'No. of Row in Bill
    Dim K As Integer 'End of Row
    Dim M As Integer 'Commulative Row in the day
    Dim RefNo As Integer
    Application.ScreenUpdating = False
    Cells(1, 2).Value = Cells(1, 2) + 1
    RefNo = Cells(1, 2).Value
    J = 17 - WorksheetFunction.CountIf(Range("c3:c19"), "")
    K = J + 2
    M = Cells(1, 9).Value 'Set M = 0 for Ref.No=1
    'PRINT
     Sheet3.Activate
     ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
            IgnorePrintAreas:=False
    'SAVE
    Range(Cells(24, 3), Cells(23 + J, 3)).Copy
    Range(Cells(M + 34, 3), Cells(M + J + 34, 3)).PasteSpecial Paste:=xlPasteValues, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Range(Cells(24, 5), Cells(23 + J, 5)).Copy
    Range(Cells(M + 34, 5), Cells(M + J + 34, 5)).PasteSpecial Paste:=xlPasteValues, _
        Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    M = M + J
    Cells(1, 9).Value = M
    Cells(34 + M - J, 1).Value = RefNo
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub

Re: แก้ปัญหาปุ่มคำสั่งที่เขียนVBA ปรับขนาดลดลงเมื่อPrint Out

Posted: Thu Jan 12, 2017 9:33 am
by BadboY
อาจารย์ครับ
ผมมาลองตั้งค่าหน้ากระดาษดู คลิกปุ่มออกจาก "จัดให้พอดีกับหน้า" ปรากฏว่า ปุ่ม ไม่ลดขนาดลงแล้วครับ
ขอบคุณอาจารย์มากครับ