: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

ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
gchart
Member
Member
Posts: 31
Joined: Sun May 09, 2010 7:23 pm

ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#1

Post by gchart »

ต้องการให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์
แบบเดียวกับการทำจดหมายเวียน แต่ทำใน excel อย่างไรครับ

(ครั้งที่แล้วผมสร้างตัวเลขจาก excel แล้วเอาแบบฟอร์มนี้ไปใส่ใน word
แล้วทำแบบจดหมายเวียนครับ)
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31032
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#2

Post by snasui »

:D ลองดูตามไฟล์แนบครับ

เป็นการเขียน Code VBA ให้ Run Number ให้ตามจำนวนที่ต้องการสังพิมพ์ :mrgreen:
You do not have the required permissions to view the files attached to this post.
gchart
Member
Member
Posts: 31
Joined: Sun May 09, 2010 7:23 pm

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#3

Post by gchart »

อาจารย์ครับ ถ้าเราจะเอาโค๊ดนี้ไปใช้ในไฟล์อื่น ได้มั๊ยครับ พอดีผมมีไฟล์ต้นฉบับที่มีการแก้ไขอยู่ปรับเปลี่ยนตำแหน่งของบัตร
ขณะถามหัวหน้าก็ยังแก้ไขเพิ่มเติมข้อความอยู่ และขอถามเพิ่มเติมนะครับ
1.ถ้าให้เลขที่แสดงเป็น 3 หลัก และให้เป็นเลขไทย ต้องแก้ที่รูปแบบเซลล์ให้เป็น t000 ใช่ไหมครับ
2.ค่าที่พิมพ์มันจะออกมาทั้งหน้า A4 หรือเปล่าครับ เพราะเอกสารผมเป็น A4 (สังเกตเห็นอาจารย์เขียนโค๊ดระบุพื้นที่)
3.ถ้าจะสั่งพิมพ์แบบระบุช่วงได้มั๊ยครับ เช่น เลขที่บัตร ๑๐๙-๑๔๕ เนื่องจากบางครั้งกระดาษจะติดหรือเลอะหมึก จึงอาจจะต้องพิมพ์ซ้ำหลายหน้า
ต้องขอโทษอาจารย์นะครับที่ถามไม่จบใน 1 กระทู้
ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31032
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#4

Post by snasui »

gchart wrote:อาจารย์ครับ ถ้าเราจะเอาโค๊ดนี้ไปใช้ในไฟล์อื่น ได้มั๊ยครับ พอดีผมมีไฟล์ต้นฉบับที่มีการแก้ไขอยู่ปรับเปลี่ยนตำแหน่งของบัตร
ขณะถามหัวหน้าก็ยังแก้ไขเพิ่มเติมข้อความอยู่ และขอถามเพิ่มเติมนะครับ
1.ถ้าให้เลขที่แสดงเป็น 3 หลัก และให้เป็นเลขไทย ต้องแก้ที่รูปแบบเซลล์ให้เป็น t000 ใช่ไหมครับ
2.ค่าที่พิมพ์มันจะออกมาทั้งหน้า A4 หรือเปล่าครับ เพราะเอกสารผมเป็น A4 (สังเกตเห็นอาจารย์เขียนโค๊ดระบุพื้นที่)
3.ถ้าจะสั่งพิมพ์แบบระบุช่วงได้มั๊ยครับ เช่น เลขที่บัตร ๑๐๙-๑๔๕ เนื่องจากบางครั้งกระดาษจะติดหรือเลอะหมึก จึงอาจจะต้องพิมพ์ซ้ำหลายหน้า
ต้องขอโทษอาจารย์นะครับที่ถามไม่จบใน 1 กระทู้
ขอบคุณครับ
:D ข้อ 1 เข้าใจถูกต้องแล้วและผมปรับให้ใน Code ด้านล่างแ้ล้วครับ
ข้อ 2 จะออกมาเฉพาะพื้นที่ที่เรากำหนดครับ ลองพิมพ์สัก 1 หน้าดูก่อนได้ครับ
ข้อ 3 ถ้าจะทำเช่นนั้นต้องเปลี่ยน Code ใหม่ครับ

ลอง Copy Code ด้านล่างไปแทน Code เดิมครับ

Code: Select all

Option Explicit
Sub PrintOutput()
Dim i As Integer
Dim a As Integer
Dim v As Integer
On Error Resume Next
v = InputBox( _
        Title:="ระบุฉบับที่เริ่ม", _
        prompt:="กรอกหมายเลขฉบับเริ่มพิมพ์")
a = InputBox( _
        Title:="ระบุฉบับสิ้นสุด", _
        prompt:="กรอกหมายเลขฉบับสุดท้ายที่ต้องการพิมพ์")
If Err = 13 Then
    MsgBox "โปรดกรอกข้อมูลทั้งฉบับที่เริ่มและฉบับที่สิ้นสุด"
    Exit Sub
End If
For i = v To a
    Range("I3") = i
    Range("I3").NumberFormat = "t000"
    Range("B2:J12").PrintOut
Next i
End Sub
:mrgreen:
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#5

Post by godman »

พอดีผมนึกได้ว่าที่นี้เคยมีคนถามเรื่องการรันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ แต่ของที่ผมจะทำ จะมี 4 บัตรใน A4 1 หน้าครับ เพื่อประหยัดกระดาษ ถ้าใช้โค้ดมาโครเดิม ผมต้องปรับตัวใหนบ้างครับ
ความต้องการของผมคือ ให้มันพิมพ์ตามชุดที่เรากำหนด ชุดนึงมี 4 และให้หมายเลขมัน run ถูกต้องด้วยครับ เช่นเราสั่งชุด 3 ก็จะหมายถึง0009-0012 คือหมายเลขบัตร
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#6

Post by godman »

ขอโทษครับนี่คือไฟล์แนบครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31032
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#7

Post by snasui »

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

Code: Select all

Sub PRIINTNUMBERELECTI()
Dim i As Integer
Dim a As Integer
Range("B4,E4,H4,K4").NumberFormat = "0000"
On Error Resume Next
a = InputBox( _
        Title:="ระบุำจำนวนฉบับ", _
        prompt:="Pls select number of copy such as 1,5,9,13,18")
If Err = 13 Then
    MsgBox "Please enter you number of copy"
    Exit Sub
End If
For i = 1 To a * 4 Step 4
    Range("B4") = i
    Range("E4") = i + 1
    Range("H4") = i + 2
    Range("K4") = i + 3
    Range("A2:L15").PrintOut
Next i
End Sub
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#8

Post by godman »

ขอบคุณครับ สำหรับความช่วยเหลือ
katihp
Member
Member
Posts: 5
Joined: Tue Jul 15, 2014 10:58 am
Location: http://www.snasui.com
Contact:

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#9

Post by katihp »

สวัสดีครับ
ขออนุญาติขุดกระทู้เก่าหน่อยครับ
พอดีว่าตรงกับความต้องการพอดีครับ แต่ติดปัญหาสงสัยครับ

อ้างอิง
Range("I3") = i
Range("I3").NumberFormat = "t000"
Range("B2:J12").PrintOut

ตรง "t000" ถ้าผมเปลี่ยนเป็น "S000" มันไม่ทำงานครับ
คือถ้ามี S มันไม่ทำงาน ไม่ทราบว่าเกิดจากอะไรและจะสามารถแก้ได้อย่างไรบ้างครับ

ขอบพระคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31032
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#10

Post by snasui »

:D "t000" เป็นการจัด Format ให้แสดงตัวเลขเป็นตัวเลขไทย ไม่ใช่ตัวเลขอารบิค ส่วน "S000" ที่ต้องการจัด Format ไม่ทราบว่าต้องการให้แสดงเป็นค่าอะไรครับ :?:
katihp
Member
Member
Posts: 5
Joined: Tue Jul 15, 2014 10:58 am
Location: http://www.snasui.com
Contact:

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#11

Post by katihp »

สวัสดีครับ

คือว่าต้องการ รันหน้าเหมือนกันครับ
เช่น SPK001 ,SPK002 ...003
หรือ ตัวย่อ อื่นๆครับ XXX001 ,XXX002

ประมาณนี้ครับ
ขอบพระคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31032
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#12

Post by snasui »

:D แนบไฟล์ตัวอย่างมาดูกันครับว่าต้องการให้เซลล์ใดเป็นค่าใด ที่ได้ลองปรับแล้วเป็นอย่างไร จะได้ช่วยตอบต่อไปจากนั้นครับ
katihp
Member
Member
Posts: 5
Joined: Tue Jul 15, 2014 10:58 am
Location: http://www.snasui.com
Contact:

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#13

Post by katihp »

สวัสดีครับ

เอกสารแนบมาแล้วครับ ผม copy มาทั้งดุ้นเลยนะครับ :mrgreen:

ตัวที่ไม่ออก CAM,SPK,SHI,SIL ครับ

รบกวนแนะนำด้วยครับ

ขอบพระคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31032
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#14

Post by snasui »

:D ถ้า Copy มาทั้งหมดผมยังไม่ตอบครับ การใช้ VBA จะต้องปรับ Code นั้นให้ตรงกับสิ่งที่ต้องการ่ก่อนแล้วแจ้งมาว่าติดขัดที่ Procedure ใด บรรทัดใด อ่านกฎข้อ 5 ด้านบนประกอบครับ :roll:
katihp
Member
Member
Posts: 5
Joined: Tue Jul 15, 2014 10:58 am
Location: http://www.snasui.com
Contact:

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#15

Post by katihp »

สวัสดีครับ

ปรับให้ตรงตามต้องการแล้วครับ แต่ไม่ออกอย่างที่ต้องการครับ
รบกวนลอง โหลดดูให้ทีครับ

ขอบพระคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31032
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#16

Post by snasui »

:D ตัวอย่าง Code ให้ขึ้นต้นด้วย CAM ตามด้านล่างครับ

Code: Select all

'Other code
For i = v To a
     Range("H1") = "CAM" & Application.Text(i, "000")
     Range("A1:I19").PrintOut
Next i
'Ohter code
katihp
Member
Member
Posts: 5
Joined: Tue Jul 15, 2014 10:58 am
Location: http://www.snasui.com
Contact:

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#17

Post by katihp »

สวัสดีครับ

"CAM" & Application.Text(i, "000") สามารถตอบโจทย์เลยครับ

ขอบพระคุณครับ
Aseerom
Member
Member
Posts: 8
Joined: Mon Feb 10, 2020 9:14 am

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#18

Post by Aseerom »

รบกวนสอบถามครับเลขที่รันตอนนี้ผมขึ้นต้นที่53 ไม่ใช่1ผมต้องเขียนสูตรแบบไหนครับ พึ่ง
User avatar
snasui
Site Admin
Site Admin
Posts: 31032
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#19

Post by snasui »

:D เปลี่ยน For i = v To a เป็น For i = 53 To a

ควรจะบอกว่าปัจจุบันทำอะไร ไปถึงไหน อย่างไร จะได้ตอบต่อไปจากนั้นครับ
Aseerom
Member
Member
Posts: 8
Joined: Mon Feb 10, 2020 9:14 am

Re: ให้รันตัวเลขอัตโนมัติเมื่อสั่งพิมพ์ครับ

#20

Post by Aseerom »

ขอโทษครับอาจารย์
พอเปลี่ยน เป็น For i = 53 ปริ้นไม่ออกครับอาจารย์
You do not have the required permissions to view the files attached to this post.
Post Reply