Hỏi về tạo macro tự động nhảy số in liên tục giảm dần (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

huuthanhxd

Thành viên mới
Tham gia
22/4/08
Bài viết
45
Được thích
3
Nghề nghiệp
Kỹ sư xây dựng
Chào cả nhà,
Hiện nay mình đang dùng đoạn Macro sau để thực hiện lệnh in chứng từ nhày số liên tục. Nhưng hiện nay do cái máy in của mình nên mình muốn in liên tục nhưng số nhảy từ Cao -> Thấp. Các bạn hướng dẫn giúp với.
Dưới đây là code nhảy từ Thấp -> Cao:
Sub InPXL()
Dim nStart As Integer
Dim nEnd As Integer
Dim Ws As Worksheet
Set Ws = Worksheets("PXL")
nStart = Ws.Range("J1").Value
nEnd = Ws.Range("K1").Value
If nStart = 0 Or nEnd = 0 Then
MsgBox "Ban chua ghi STT", , "Thong Bao"
Exit Sub
End If
If nStar > nEnd Then
MsgBox "So truoc khong duoc be hon so sau", , "Thong Bao"
Exit Sub
End If
For i = nStart To nEnd
SoSeRi = "PXL" & Right("" & i, 4) & "-PA"
Ws.Range("I1").Value = SoSeRi
Application.ThisWorkbook.PrintOut
Next
End Sub
 
Đoạn code này
For i = nStart To nEnd ===> Chạy từ số bắt đầu (nhỏ) đến số kết thúc (Lớn)
SoSeRi = "PXL" & Right("" & i, 4) & "-PA" ==> Tạo số Serial mỗi lần chạy
Ws.Range("I1").Value = SoSeRi ===> Điền giá trị số Serial lần chạy đó.

Tui có 2 đoạn code viết chơi bạn tham khảo.
Mã:
Private Sub A()
    For i = 1 To 100 Step 10
        Debug.Print i
    Next
End Sub
Private Sub A()
    For i = 100 To 1 Step -10
        Debug.Print i
    Next
End Sub

[code]
Output:
 1
 11
 21
 31
 41
 51
 61
 71
 81
 91

 100 
 90
 80
 70
 60
 50
 40
 30
 20
 10
 
Đoạn code này
For i = nStart To nEnd ===> Chạy từ số bắt đầu (nhỏ) đến số kết thúc (Lớn)
SoSeRi = "PXL" & Right("" & i, 4) & "-PA" ==> Tạo số Serial mỗi lần chạy
Ws.Range("I1").Value = SoSeRi ===> Điền giá trị số Serial lần chạy đó.

Tui có 2 đoạn code viết chơi bạn tham khảo.
Mã:
Private Sub A()
    For i = 1 To 100 Step 10
        Debug.Print i
    Next
End Sub
Private Sub A()
    For i = 100 To 1 Step -10
        Debug.Print i
    Next
End Sub

[code]
Output:
 1
 11
 21
 31
 41
 51
 61
 71
 81
 91

 100
 90
 80
 70
 60
 50
 40
 30
 20
 10
Cảm ơn bạn đã hỗ trợ. Mình không rành về Macro lắm, bạn hướng dẫn chi tiết hơn về đoạn code của bạn áp dụng cho trường hợp của mình được không ? Xin cảm ơn bạn!
 
OK. Mình đã xử lý được rồi bạn nhé:

Sub InPXL()
Dim nStart As Integer
Dim nEnd As Integer
Dim Ws As Worksheet
Set Ws = Worksheets("PXL")
nStart = Ws.Range("J1").Value
nEnd = Ws.Range("K1").Value
For i = nStart To nEnd Step -1
SoSeRi = "PXL" & Right("" & i, 4) & "-PA"
Ws.Range("I1").Value = SoSeRi
Application.ThisWorkbook.PrintOut
Next
End Sub
 
OK. Mình đã xử lý được rồi bạn nhé:

Sub InPXL()
Dim nStart As Integer
Dim nEnd As Integer
Dim Ws As Worksheet
Set Ws = Worksheets("PXL")
nStart = Ws.Range("J1").Value
nEnd = Ws.Range("K1").Value
For i = nStart To nEnd Step -1
SoSeRi = "PXL" & Right("" & i, 4) & "-PA"
Ws.Range("I1").Value = SoSeRi
Application.ThisWorkbook.PrintOut
Next
End Sub
Có thể chứ. Mình thường không làm thay đâu ^^
 
Web KT

Bài viết mới nhất

Back
Top Bottom