Nhờ mọi người xem giúp & rút gọn code

Liên hệ QC

hoi_joker

Thành viên mới
Tham gia
14/9/07
Bài viết
41
Được thích
17
MÌNH CÓ CODE PRINT DOCS NHƯ FILE

CÁC BẠN XEM GIÚP CÓ THỂ LÀM ĐƠN GIẢN HƠN HOẶC CÓ CẦN LƯU Ý GÌ KHÔNG ?

PHP:
Sub PrintDocs()
If [J20] <> "VIETNAM" Then
    
    If [C7] <> "VIETNAM" Then
        Sheets(Array("A", "B", "Man", "KD", "Fr", "LO", "Qua", "Ord", "N")).Select
        Selection.PrintOut Copies:=1, Collate:=True
    Else
        Sheets(Array("A", "B", "Man", "KD", "Fr", "LO", "Qua", "N")).Select
        Selection.PrintOut Copies:=1, Collate:=True
    End If
 
 Else
 
    If [C7] <> "VIETNAM" Then
        Sheets(Array("A", "B", "Man", "KD", "Fr", "LO", "Ord", "N")).Select
        Selection.PrintOut Copies:=1, Collate:=True
        
    Else
        Sheets(Array("A", "B", "Man", "LO", "N")).Select
        Selection.PrintOut Copies:=1, Collate:=True
        Sheets("KD").Select
        Selection.PrintOut From:=3, To:=4, Copies:=1, Collate:=True
    End If
        
 End If
    Sheets(1).Select
    MsgBox "DONE!"
        
End Sub
 

File đính kèm

Tại sao lại để thừa nhiều dòng .printout vậy

thế này chắc gọn hơn được tí ti (mới học VBA, mọi người chỉ bảo thêm nhé!)

PHP:
Sub PrintDocs()
If [J20] <> "VIETNAM" Then
    If [C7] <> "VIETNAM" Then
        Sheets(Array("A", "B", "Man", "KD", "Fr", "LO", "Qua", "Ord", "N")).Select
    Else
        Sheets(Array("A", "B", "Man", "KD", "Fr", "LO", "Qua", "N")).Select
    End If
 Else
    If [C7] <> "VIETNAM" Then
        Sheets(Array("A", "B", "Man", "KD", "Fr", "LO", "Ord", "N")).Select
    Else
        Sheets(Array("A", "B", "Man", "LO", "N")).Select
    End If
 End If
Selection.PrintOut Copies:=1, Collate:=True

If [J20] = "VIETNAM" and [C7] = "VIETNAM" then
Sheets("KD").Select
Selection.PrintOut From:=3, To:=4, Copies:=1, Collate:=True
End If

    Sheets(1).Select
    MsgBox "DONE!"
        
End Sub
 
Upvote 0
Thử vậy được không? (mình cũng abc)
Mã:
Sub PrintDocs()
    If [J20] <> "VIETNAM" And [C7] <> "VIETNAM" Then
        Sheets(Array("A", "B", "Man", "KD", "Fr", "LO", "Qua", "Ord", "N")).Select
    ElseIf [J20] <> "VIETNAM" And [C7] = "VIETNAM" Then
        Sheets(Array("A", "B", "Man", "KD", "Fr", "LO", "Qua", "N")).Select
    ElseIf [J20] = "VIETNAM" And [C7] <> "VIETNAM" Then
        Sheets(Array("A", "B", "Man", "KD", "Fr", "LO", "Ord", "N")).Select
    ElseIf [J20] = "VIETNAM" And [C7] = "VIETNAM" Then
        i = 2
        Sheets(Array("A", "B", "Man", "LO", "N")).Select
        Selection.PrintOut Copies:=1, Collate:=True
        Sheets("KD").Select
        Selection.PrintOut From:=3, To:=4, Copies:=1, Collate:=True
    End If
    If i <> 2 Then Selection.PrintOut Copies:=1, Collate:=True
    Sheets(1).Select
    MsgBox "DONE!"
End Sub

Hoặc vậy đi, xếp lại thứ tự in ở trường hợp cuối:

Mã:
Sub PrintDocs()
    If [J20] <> "VIETNAM" And [C7] <> "VIETNAM" Then
        Sheets(Array("A", "B", "Man", "KD", "Fr", "LO", "Qua", "Ord", "N")).Select
    ElseIf [J20] <> "VIETNAM" And [C7] = "VIETNAM" Then
        Sheets(Array("A", "B", "Man", "KD", "Fr", "LO", "Qua", "N")).Select
    ElseIf [J20] = "VIETNAM" And [C7] <> "VIETNAM" Then
        Sheets(Array("A", "B", "Man", "KD", "Fr", "LO", "Ord", "N")).Select
    ElseIf [J20] = "VIETNAM" And [C7] = "VIETNAM" Then
        Sheets("KD").Select
        Selection.PrintOut From:=3, To:=4, Copies:=1, Collate:=True
        Sheets(Array("A", "B", "Man", "LO", "N")).Select
    End If
    Selection.PrintOut Copies:=1, Collate:=True
    Sheets(1).Select
    MsgBox "DONE!"
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom