Page 1 of 1

ต้องการให้ VBA พิมพ์งานจากหลังมาหน้า

Posted: Wed Nov 09, 2016 8:31 am
by yangkodza

Code: Select all

 Sub พิมพ์()
 Dim answer As Integer
answer = MsgBox("คุณต้องการพิมพ์งาน ใช่หรือไม่", vbYesNo + vbQuestion, "พิมพ์งานห้องเรียนปกติ")
If answer = vbYes Then
Start = Range("Start")
Finish = Range("Finish")
For i = Start To Finish
Range("No") = i
Calculate
ActiveSheet.PrintOut From:=1, To:=1
Next i

Else
    'do nothing
End If
 End Sub
สวัสดีครับ
รบกวนสอบถามครับ จาก VBA ดังกล่าว
ผมสามารถใช้งานได้แต่มีปัญหาที่ว่า

ถ้าเรามีเด็ก 45 คน
พอพิมพ์งานออกมาต้องมานั่งเรียงลำดับกระดาษตามเลขที่
เลขที่ 1 จะอยู่ข้างล่างสุด เลขที่ 45 จะอยู่บนสุด

อยากให้ปริ้นงานออกมาแล้วเรียงลำดับเลขที่โดย
ให้เลขที่ 1 อยู่บนสุดเลขที่ 45 อยู่ข้างล่างสุดครับ

Re: ต้องการให้ VBA พิมพ์งานจากหลังมาหน้า

Posted: Wed Nov 09, 2016 5:22 pm
by snasui
:D ปกติสามารถกำหนดตรงเครื่องพิมพ์ได้ว่าให้พิมพ์ในลักษณะใด เช่น พิมพ์สองหน้า พิมพ์หน้าคู่ พิมพ์หน้าคี่ พิมพ์เรียงจากหน้าไปหลัง พิมพ์เรียงจากหลังไปหน้า ฯลฯ

กรณีต้องการปรับ Code ให้ปรับการ Loop เสียใหม่ จาก For i = Start To Finish เป็น For i = Finish To Start Step - 1 ครับ

Re: ต้องการให้ VBA พิมพ์งานจากหลังมาหน้า

Posted: Thu Nov 10, 2016 9:16 am
by yangkodza
snasui wrote: กรณีต้องการปรับ Code ให้ปรับการ Loop เสียใหม่ จาก For i = Start To Finish เป็น For i = Finish To Start Step - 1 ครับ
ขอบคุณมากเลยครับ ลดภาระงานไปได้เยอะเลย
เพราะต้อง Print ทั้งโรงเรียนเลยครับ :D :D :D