:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

Code VBA สั่งจำนวนแผ่นที่จะปริ้นท์

Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่

Post a reply


This question is a means of preventing automated form submissions by spambots.
Smilies
:D :thup: :cp: :flw: :rz: :sg: :tt: :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :ard: :arl: :aru: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Code VBA สั่งจำนวนแผ่นที่จะปริ้นท์

Re: Code VBA สั่งจำนวนแผ่นที่จะปริ้นท์

#11

by sup » Sat Jul 07, 2012 5:21 pm

ขอบคุณมากครับอาจารย์
หากมีข้อสงสัยตรงไหนผมจะมาถามต่อครับ

Re: Code VBA สั่งจำนวนแผ่นที่จะปริ้นท์

#10

by snasui » Sat Jul 07, 2012 3:28 pm

:D Cint เป็นฟังก์ชั่นสำหรับแปลงตัวแปร x ให้กลับไปเป็น Interger ครับ

จาก Code เดิมได้ประกาศตัวแปร x เป็น Interger แต่เรามีการ Assign ค่าตัวแปร x ให้มีค่าเท่ากับค่าใน TextBox1 ซึ่งค่าเป็น Text จึงต้องแปลง Text ให้กลับไปเป็น Interger ก่อนที่จะ Assign ค่าให้กับตัวแปร x เพื่อที่จะนำไปใช้ต่อไป

สำหรับฟังก์ชั่นการแปลงตัวแปร ดูเพิ่มเติมได้ที่นี่ครับ http://msdn.microsoft.com/en-us/library/gg278896.aspx

Re: Code VBA สั่งจำนวนแผ่นที่จะปริ้นท์

#9

by sup » Sat Jul 07, 2012 2:03 pm

ขอบคุณครับอาจารย์ ใช้การได้ดังใจแล้วครับ ยังมีเรื่องติดใจนิดหนึ่งครับ ตรง CInt ช่วยอธิบายให้หน่อยครับ คืออะไร หลักการใช้อย่างไรครับ ขอบคุณมากๆครับ อ้อผมเพิ่ม Code Textbox1.Value="" ให้เคลียร์ค่าใน Textbox1 เข้าไปด้วยเพื่อเคลียร์เลขออกเมื่อคำสั่งสั่งจบครับ

Re: Code VBA สั่งจำนวนแผ่นที่จะปริ้นท์

#8

by snasui » Sat Jul 07, 2012 12:25 pm

:D ลองปรับเป็นตามด้านล่างครับ

Code: Select all

Private Sub CommandButton3_Click()
    Dim x As Integer
    x = CInt(Worksheets("Form Print").TextBox1.Value)
    Application.ActivePrinter = "\\qa02\Brother HL-2140 series on Ne04:"
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=x, _
        ActivePrinter:="\\qa02\Brother HL-2140 series on Ne04:", Collate:=True
End Sub

Re: Code VBA สั่งจำนวนแผ่นที่จะปริ้นท์

#7

by sup » Sat Jul 07, 2012 11:54 am

Code: Select all

Private Sub CommandButton3_Click()  
Dim x As Integer
x = Worksheets("Form Print").TextBox1.Value
    Application.ActivePrinter = "\\qa02\Brother HL-2140 series on Ne04:"
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=x, _
        ActivePrinter:="\\qa02\Brother HL-2140 series on Ne04:", Collate:=True
End Sub


ขอโทษครับอาจารย์เข้ามาดูความคืบหน้าช้าไป พอดีงานเร่งมาครับเลยต้องเอางานไว้ก่อนครับ เดี๋ยวตกงานครับ
Code ตามด้านบนครับ ผมลองให้ x = 1 ผลสามารถ Runได้ครับ แต่พอเอาค่าจาก Textbox1 มาใส่ไม่ได้ครับ ไม่แน่ใจว่าผมเขียน Codeผิดตรงไหนอย่างไรครับ ยังงูๆปลาอยู่มากครับ รบกวนช่วยดูให้หน่อยครับ
ขอบคุณล่วงหน้าครับ

Re: Code VBA สั่งจำนวนแผ่นที่จะปริ้นท์

#6

by snasui » Thu Jul 05, 2012 9:12 pm

sup wrote:โดยส่วนตัวเข้าใจว่าจะต้องเปลี่ยนตรง "Copies:1" แต่ลองแล้วไม่เป็นผลครับ
:D Code ที่ลองแล้วคือ Code ใดช่วยโพสต์มาด้วยครับ

Re: Code VBA สั่งจำนวนแผ่นที่จะปริ้นท์

#5

by bank9597 » Thu Jul 05, 2012 4:42 pm

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

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

สุดท้ายคือ ผมทำไปไม่ได้ต้องการอะไรทั้งสิ้นครับ แค่คำขอบคุณก็ประทับใจมากแล้วครับ อีกทั้งผมก็ยังไม่รู้อะไรมากยังต้องศึกษาอีกมากครับ เจ็บใจอยู่เหมือนกันที่ช่วยตอบเรื่อง VBA ไม่ได้ :lol:

ขอบคุณผู้ถามทั้ง 2 ท่านครับ สำหรับคำชมที่ให้มา และหากมีอะไรผิดพลาด ก็สามารถบอกกล่าวผมได้เช่นกันครับ :|

Re: Code VBA สั่งจำนวนแผ่นที่จะปริ้นท์

#4

by yoguzaa » Thu Jul 05, 2012 3:30 pm

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

Re: Code VBA สั่งจำนวนแผ่นที่จะปริ้นท์

#3

by sup » Thu Jul 05, 2012 3:00 pm

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

Re: Code VBA สั่งจำนวนแผ่นที่จะปริ้นท์

#2

by bank9597 » Thu Jul 05, 2012 2:50 pm

:tt: ไม่ถนัดเรื่อง VBA เลยครับ เลยต้องรอให้ท่านอื่นๆช่วยเข้าดูให้อีกทีครับ

Code VBA สั่งจำนวนแผ่นที่จะปริ้นท์

#1

by sup » Thu Jul 05, 2012 12:00 pm

Code: Select all

Private Sub CommandButton3_Click() 
    Application.ActivePrinter = "\\qa02\Brother HL-2140 series on Ne04:"
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, _
        ActivePrinter:="\\qa02\Brother HL-2140 series on Ne04:", Collate:=True
End Sub
เรียนอาจารย์และท่านผู้รู้ทุกท่านครับ

ผมได้ Code จาก macro สั่งปริ้นฟอร์มออกมาซึ่งจะปริ้นได้เพียง 1 แผ่นเท่านั้น(ตามด้านบน) แล้วผมเอา Code นี้มาใส่ใน commandbutton ใช้คลิ๊กสั่งปริ้นท์ และหากต้องการที่จะปริ้นมากกว่า 1 แผ่น โดยทำ Textbox วางใน Sheet "Print Form" ให้ใส่จำนวนแผ่นที่ต้องการแล้วส่งข้อมูลนี้ไปยัง Code ไม่ทราบว่าจะปรับแก้ไข Code ตรงไหนครับ ผมรบกวนหน่อยครับ โดยส่วนตัวเข้าใจว่าจะต้องเปลี่ยนตรง "Copies:1" แต่ลองแล้วไม่เป็นผลครับ

ขอบคุณทุกท่านล่วงหน้าครับ

Top