เพิ่มหมายเลขลำดับใน 4 เซลล์ที่แตกต่างกันหลังจากพิมพ์


1

ฉันสร้างใบเสร็จขนาดตัวอักษร 1/4 และคัดลอก 4 ครั้งในแผ่นงานเดียว (เพื่อบันทึกเอกสาร) และต้องการพิมพ์อย่างต่อเนื่องตั้งแต่ 001 ถึง 100 ใบเสร็จแต่ละใบควรมีหมายเลขเฉพาะ 001,002 ... 100 ..

ฉันจะใส่หมายเลขต่อเนื่องใน 4 เซลล์ต่างกันเช่น A1, C1, E1 และ G1 เป็นเซลล์ของฉันด้วยหมายเลข 001,002,003,004 และเพิ่มแต่ละหมายเลขหลังจากพิมพ์แต่ละครั้งได้อย่างไร

ฉันยังต้องการความสามารถในการระบุหมายเลขเริ่มต้น

ฉันพบสิ่งนี้ในเว็บดังนั้นอาจเป็นจุดเริ่มต้น:

Sub IncrementPrint()

    Dim xCount As Variant
    Dim xScreen As Boolean
    Dim I As Long
    On Error Resume Next
LInput:
    xCount = Application.InputBox("Please enter the number of copies you want to print:", "Title")
    If TypeName(xCount) = "Boolean" Then Exit Sub
    If (xCount = "") Or (Not IsNumeric(xCount)) Or (xCount < 1) Then
        MsgBox "error entered, please enter again", vbInformation, "Title"
        GoTo LInput
    Else
        xScreen = Application.ScreenUpdating
        Application.ScreenUpdating = False
        For I = 1 To xCount
            ActiveSheet.Range("A1").Value = " Company-00" & I
            ActiveSheet.PrintOut
        Next
        ActiveSheet.Range("A1").ClearContents
        Application.ScreenUpdating = xScreen
    End If
End Sub

คุณทำอะไร ใช้งานได้หรือไม่ พักที่ไหน (คำแนะนำนั่นGoTo LInputไม่ใช่การฝึกเขียนโค้ด แต่มันยังสามารถใช้งานได้)
ฟรีแมน

มันพิมพ์ 1 หมายเลขต่อหน้า แต่ฉันต้องการฟังก์ชั่นที่ใช้งานได้กับ 4 หมายเลขต่อเนื่องในแต่ละหน้า ตัวอย่างเช่น: หน้าพิมพ์หน้าแรกมี 001, 002, 003 และ 004 จากนั้นพิมพ์ครั้งที่ 2 จะปรากฏขึ้น 005,006,007,008 เป็นต้น
Florid John Gonzales

คำตอบ:


0

ใช้สิ่งนี้


Option Explicit

Public Sub IncrementPrint()
    Dim resp As Variant, scr As Boolean, i As Long, j As Long

On Error Resume Next
    resp = Application.InputBox(Prompt:="Please enter the number of copies to print:", _
                                Title:="Select Total Print Copies", Type:=1)
On Error GoTo 0

    If resp = False Then Exit Sub
    If resp < 1 Or resp > 100 Then
        MsgBox "Invalid number: " & resp & " (Enter 1 to 100)", vbExclamation, "Try Again"
        Exit Sub
    End If

    scr = Application.ScreenUpdating
    Application.ScreenUpdating = False
    j = 0
    For i = 1 To resp
        ActiveSheet.Range("A1").Value2 = " Company-00" & i + 0 + j
        ActiveSheet.Range("C1").Value2 = " Company-00" & i + 1 + j
        ActiveSheet.Range("E1").Value2 = " Company-00" & i + 2 + j
        ActiveSheet.Range("G1").Value2 = " Company-00" & i + 3 + j
        ActiveSheet.PrintOut
        j = j + 3
    Next i
    ActiveSheet.Range("A1,C1,E1,G1").ClearContents
    Application.ScreenUpdating = scr
End Sub

1
ขอบคุณพอลมันใช้งานได้ แต่ถ้าฉันต้องการเริ่มจากตัวเลขไม่ใช่ 1 หรือ 0 .. สมมุติว่าฉันหยุดจาก 052 และฉันต้องการพิมพ์หมายเลขซีเรียลที่เหลือเริ่มต้นที่ 053? ขอโทษด้วยฉันเป็นคนใหม่มากที่นี้ ..
Florid John Gonzales

อีกอย่างฉันพยายามเรียกใช้รหัสนี้สองสามครั้งเพื่อตรวจสอบว่ามันใช้งานได้หรือไม่ฉันสังเกตเห็นว่าพิมพ์สองครั้งในแต่ละหน้า ฉันไม่รู้ว่าทำไมมันถึงเกิดขึ้น ดูเหมือนว่าจะมีปัญหาอะไร
Florid John Gonzales

ฉันไม่แน่ใจว่าปัญหาคืออะไร (ไม่มีเครื่องพิมพ์เพื่อเรียกใช้รหัสที่ฉันใส่เครื่องหมายบรรทัดการพิมพ์) แต่ฉันสงสัยว่ามีบางอย่างและฉันทำการเปลี่ยนแปลงสองสามครั้ง โปรดลองอีกครั้งและหากไม่ได้รับการแก้ไขให้ใช้รหัสเดิมเพื่อดูว่ามันทำเหมือนเดิมหรือไม่ แจ้งให้เราทราบว่ามันทำงานอย่างไร
paul bica

ขอบคุณพอลอีกครั้งรหัสทำงานได้อย่างราบรื่น ฉันรู้ได้อย่างไรว่ารหัสแรกอาจมีปัญหา
Florid John Gonzales

ดีใจที่มันใช้งานได้! รหัสแรกจะเพิ่มเฉพาะฉลากในเซลล์ A1 ฉันเพิ่มอีก 3 เซลล์และทำให้แน่ใจว่าฉลากเพิ่มขึ้นสำหรับทุกเซลล์ในการทำซ้ำแต่ละครั้ง (โดยใช้ตัวแปรใหม่j) ฉันยัง จำกัด การตอบสนองผู้ใช้ถึง 100 เล่มในกรณีแป้นพิมพ์ของพวกเขาได้รับการติดอยู่กับจำนวน :)
paul Bica
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.