Nhờ chỉnh lại code IN theo điều kiện (1 người xem)

Liên hệ QC

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

vova2209

Thành viên tích cực
Tham gia
5/4/17
Bài viết
835
Được thích
112
Giới tính
Nam
Nghề nghiệp
Đường bộ
1. Macro in ở sheet Biên Bản 2700~2706. Mỗi lần tiến lên 1 là lại tự động in
2. Code chạy theo điều kiện cột A và cột D. Giờ em muốn nếu ở cột D có giá trị thì sẽ bỏ qua, như dưới hình thì sẽ in mã 2700 và 2706 vì ở cột D có giá trị tại 2702, 2703, 2704, 2705
File đính kèm bên dưới!
Em xin chân thành cảm ơn

1.png 2.png
 

File đính kèm

1. Macro in ở sheet Biên Bản 2700~2706. Mỗi lần tiến lên 1 là lại tự động in
2. Code chạy theo điều kiện cột A và cột D. Giờ em muốn nếu ở cột D có giá trị thì sẽ bỏ qua, như dưới hình thì sẽ in mã 2700 và 2706 vì ở cột D có giá trị tại 2702, 2703, 2704, 2705
File đính kèm bên dưới!
Em xin chân thành cảm ơn

View attachment 187335 View attachment 187336
Bạn thử như thế này xem có được không
PHP:
Private Sub OkInBB_Click()
    Dim inStart, inFinish As Long 'Dùng Inputbox dôi? Integer
    Dim i As Long
    Dim ws As Worksheet
    Dim Rng As Range, N As Long
    ' On Error GoTo thoat
    Set ws = ActiveSheet
    Set Rng = Sheets("VoVa").Range("A3", Sheets("VoVa").Range("A65535").End(3)).Resize(, 4)
    inStart = TextBox1.Value 'Nêu'ko dùng form > inStart = application.Inputbox("In Tu:")
    inFinish = TextBox2.Value 'Nêu'ko dùng form > inFinish = application.Inputbox("In Dên':")
    For i = inStart To inFinish
        N = Application.WorksheetFunction.VLookup(i, Rng, 4, False)
        If N > 0 Then GoTo Tiep
        With ws
            .Range("AZ1").Value = i
            .PrintOut 'Vùng in Set
        End With
Tiep:
    Next i
thoat:
    Unload Me
End Sub
 
Upvote 0
Bạn thử như thế này xem có được không
PHP:
Private Sub OkInBB_Click()
    Dim inStart, inFinish As Long 'Dùng Inputbox dôi? Integer
    Dim i As Long
    Dim ws As Worksheet
    Dim Rng As Range, N As Long
    ' On Error GoTo thoat
    Set ws = ActiveSheet
    Set Rng = Sheets("VoVa").Range("A3", Sheets("VoVa").Range("A65535").End(3)).Resize(, 4)
    inStart = TextBox1.Value 'Nêu'ko dùng form > inStart = application.Inputbox("In Tu:")
    inFinish = TextBox2.Value 'Nêu'ko dùng form > inFinish = application.Inputbox("In Dên':")
    For i = inStart To inFinish
        N = Application.WorksheetFunction.VLookup(i, Rng, 4, False)
        If N > 0 Then GoTo Tiep
        With ws
            .Range("AZ1").Value = i
            .PrintOut 'Vùng in Set
        End With
Tiep:
    Next i
thoat:
    Unload Me
End Sub
Chuẩn rồi chị ơi! em cảm ơn chị xjnh đẹp nhiều
 
Upvote 0
Bạn thử như thế này xem có được không
PHP:
Private Sub OkInBB_Click()
    Dim inStart, inFinish As Long 'Dùng Inputbox dôi? Integer
    Dim i As Long
    Dim ws As Worksheet
    Dim Rng As Range, N As Long
    ' On Error GoTo thoat
    Set ws = ActiveSheet
    Set Rng = Sheets("VoVa").Range("A3", Sheets("VoVa").Range("A65535").End(3)).Resize(, 4)
    inStart = TextBox1.Value 'Nêu'ko dùng form > inStart = application.Inputbox("In Tu:")
    inFinish = TextBox2.Value 'Nêu'ko dùng form > inFinish = application.Inputbox("In Dên':")
    For i = inStart To inFinish
        N = Application.WorksheetFunction.VLookup(i, Rng, 4, False)
        If N > 0 Then GoTo Tiep
        With ws
            .Range("AZ1").Value = i
            .PrintOut 'Vùng in Set
        End With
Tiep:
    Next i
thoat:
    Unload Me
End Sub
Cho em hỏi! tại sao If N > 0 Then GoTo Tiep không cần end if chị nhỉ
 
Upvote 0
Sau If.. then nếu chỉ 1 câu lện thì ko cần En if. Nhưng 2 câu lệnh trở lên phải có End if
Liên quan đến vụ ngắt xuống dòng ngay sau "Then" chứ anh, số câu lệnh sau "Then" thì liên quan gì đâu ạ?
PHP:
Sub Vidu1()
    If a = 1 Then b = 2: c = 3: d = 4
End Sub
 
Upvote 0
Liên quan đến vụ ngắt xuống dòng ngay sau "Then" chứ anh, số câu lệnh sau "Then" thì liên quan gì đâu ạ?
PHP:
Sub Vidu1()
    If a = 1 Then b = 2: c = 3: d = 4
End Sub
Việc xuống dòng hay không là cách trả lời của lehuong1409. Còn mình trả lời cho chủ nhân là
Nếu 1 câu lện ko cần end if
VD:
If ... then caulenhduynhat
hoặc:
if ... then
caulenhduynhat
End if
Nếu 2 câu lệnh trở lên bắt buộc là
If ... then
caulenh1
caulenh2
...
End if
 
Upvote 0
Vâng em hiểu rồi! em cảm ơn ạ. .
 
Upvote 0
Cho em hỏi! tại sao If N > 0 Then GoTo Tiep không cần end if chị nhỉ
Theo tôi với những câu hỏi căn bản như thế này thì bạn nên tìm tài liệu chính thống để hiểu cú pháp trước.
Hàm VB cũng như công thức Excel trước khi học thì phải tìm hiểu CẤU TRÚC trước tiên.

Như với If thì bạn đọc thêm link sau để có cái nhìn tổng quan
https://docs.microsoft.com/en-us/do...e-reference/statements/if-then-else-statement
 
Upvote 0
Theo tôi với những câu hỏi căn bản như thế này thì bạn nên tìm tài liệu chính thống để hiểu cú pháp trước.
Hàm VB cũng như công thức Excel trước khi học thì phải tìm hiểu CẤU TRÚC trước tiên.

Như với If thì bạn đọc thêm link sau để có cái nhìn tổng quan
https://docs.microsoft.com/en-us/do...e-reference/statements/if-then-else-statement
vâng! em cảm ơn ạ
 
Upvote 0
Web KT

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

Back
Top Bottom