: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 สั่งจำนวนแผ่นที่จะปริ้นท์

ฟอรัมถาม-ตอบปัญหาการใช้งาน Macro และ 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
sup
Member
Member
Posts: 136
Joined: Mon Sep 13, 2010 11:36 am

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

#1

Post by sup »

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" แต่ลองแล้วไม่เป็นผลครับ

ขอบคุณทุกท่านล่วงหน้าครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

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

#2

Post by bank9597 »

:tt: ไม่ถนัดเรื่อง VBA เลยครับ เลยต้องรอให้ท่านอื่นๆช่วยเข้าดูให้อีกทีครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
sup
Member
Member
Posts: 136
Joined: Mon Sep 13, 2010 11:36 am

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

#3

Post by sup »

ขอบคุณครับคุณ bank9597 ไม่เป็นไรครับ สิ่งที่คุณทำอยู่ดีอยู่แล้วครับ ยังมีอีกหลายปัญหาที่ผมต้องเอามาถามครับ ขอบคุณมากๆในน้ำใจที่ได้รับครับ ผมรู้กเยอะขึ้นกว่าเมื่อก่อนก็จากอาจารย์และหลายๆท่านครับ และเจริญรอยตามครับ มอบความรู้เล็กๆน้อยๆที่พอจะรู้บ้างให้คนน้องๆ ในที่ทำงาน มุมเล็ก มุมหนึ่งของคนไทยที่ยังมีน้ำใจให้กันครับ
User avatar
yoguzaa
Member
Member
Posts: 87
Joined: Mon Jan 09, 2012 4:48 pm

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

#4

Post by yoguzaa »

เห็นด้วยกับ ความเห็นของเจ้าของกระทู้ ครับ
คุณ แบงค์ เหมือนเป็น ต้นแบบที่ดีในการศึกษาหาความรู้ครับ
ลองหาดูจากกระทู้แรกๆของคุณแบงค์
จนถึงเดี๋ยวนี้ พัฒนาขึ้นจนช่วยตอบคำถามแทน ท่านอาจารย์ได้ ในหลายๆคำถาม
สังเกตที่ โปรไฟล์ ทางด้านซ้ายของโพสที่คุณแบงค์ตอบสิ
เดี๋ยวนี้ได้ ระดับ กูรู ไปแล้ว
สักวัน ผมคงจะได้เป็นมั่ง
ใช้คำว่า"ไม่รู้"เพื่อที่จะได้"รู้"
ไม่ใช่ใช้เพื่อ"ปฏิเสธความรับผิดชอบ"
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

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

#5

Post by bank9597 »

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

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

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

ขอบคุณผู้ถามทั้ง 2 ท่านครับ สำหรับคำชมที่ให้มา และหากมีอะไรผิดพลาด ก็สามารถบอกกล่าวผมได้เช่นกันครับ :|
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#6

Post by snasui »

sup wrote:โดยส่วนตัวเข้าใจว่าจะต้องเปลี่ยนตรง "Copies:1" แต่ลองแล้วไม่เป็นผลครับ
:D Code ที่ลองแล้วคือ Code ใดช่วยโพสต์มาด้วยครับ
sup
Member
Member
Posts: 136
Joined: Mon Sep 13, 2010 11:36 am

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

#7

Post by sup »

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ผิดตรงไหนอย่างไรครับ ยังงูๆปลาอยู่มากครับ รบกวนช่วยดูให้หน่อยครับ
ขอบคุณล่วงหน้าครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#8

Post by snasui »

: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
sup
Member
Member
Posts: 136
Joined: Mon Sep 13, 2010 11:36 am

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

#9

Post by sup »

ขอบคุณครับอาจารย์ ใช้การได้ดังใจแล้วครับ ยังมีเรื่องติดใจนิดหนึ่งครับ ตรง CInt ช่วยอธิบายให้หน่อยครับ คืออะไร หลักการใช้อย่างไรครับ ขอบคุณมากๆครับ อ้อผมเพิ่ม Code Textbox1.Value="" ให้เคลียร์ค่าใน Textbox1 เข้าไปด้วยเพื่อเคลียร์เลขออกเมื่อคำสั่งสั่งจบครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#10

Post by snasui »

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

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

สำหรับฟังก์ชั่นการแปลงตัวแปร ดูเพิ่มเติมได้ที่นี่ครับ http://msdn.microsoft.com/en-us/library/gg278896.aspx
sup
Member
Member
Posts: 136
Joined: Mon Sep 13, 2010 11:36 am

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

#11

Post by sup »

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