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

ข้อ 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
