In một lần nhiều sheet có điều kiện?

Liên hệ QC

ladykiller81

Thành viên chính thức
Tham gia
13/7/08
Bài viết
69
Được thích
3
Xin chào các bác, trong quá trình làm việc e có 1 file gồm nhiều sheet (ví dụ: 20 sheet) và một sheet data nhập toàn bộ số liệu để dùng làm Vlookup truy vấn số liệu cho các sheet còn lại theo từng ngày. Nếu trong 1 ngày có hết dữ liệu của 20 sheet thì e làm macro in 1 lần 20 sheet thì không vần đề gì, nhưng mỗi ngày e chỉ in 5-10 sheet có dữ liệu các sheet còn lại (không có dữ liệu) không cần in thì phải làm cách nào, xin các bác giúp e! thành thật cảm ơn!
 
Xin chào các bác, trong quá trình làm việc e có 1 file gồm nhiều sheet (ví dụ: 20 sheet) và một sheet data nhập toàn bộ số liệu để dùng làm Vlookup truy vấn số liệu cho các sheet còn lại theo từng ngày. Nếu trong 1 ngày có hết dữ liệu của 20 sheet thì e làm macro in 1 lần 20 sheet thì không vần đề gì, nhưng mỗi ngày e chỉ in 5-10 sheet có dữ liệu các sheet còn lại (không có dữ liệu) không cần in thì phải làm cách nào, xin các bác giúp e! thành thật cảm ơn!
Giả sử như điều kiện cần kiểm tra để in ra là ô A1 phải lơn hơn 0 thì code thế này.
PHP:
Sub Print_Out()
Dim sh As Worksheet
For Each sh In Worksheets
   If sh.[A1] > 0 Then
      sh.PrintOut
   End If
Next
End Sub
 
Upvote 0
Em cảm ơn anh quanghai1969 nhiều lắm. Xin anh chỉ nốt dùm e phần còn lại. Giả sử e muốn tạo 1 nút macro in 1 lần 10 sheet vối điều kiện ô E6 của mỗi sheet có giá trị thì mới in, còn không có giá trị ("") thì không in. Xin a chỉ dùm e, chân thành cảm ơn!
 
Upvote 0
Nếu E6 thì bạn sửa lại đoạn này If sh.[A1] > 0 Then Thành If sh.[E6] > 0 Then

Còn muốn in sheet theo tên bạn có thể dùng đoạn code này rồi thay đổi theo tên sheet trực tiếp trên đoạn code muốn in

PHP:
Sub InSheet()
Dim namesh, Printsh
namesh = Array("Sheet1", "Sheet2", "sheet3") 'Sua hoac them ten nhung sheet nao muon in vao nhen
For Each Printsh In Nsh
    If Sheets(Printsh).Range("E6") > 0 Then
        Sheets(Printsh).PrintOut
    End If
Next
End Sub
 
Upvote 0
E không thể nào chạy được, bác kiểm tra lại giúp e. tổng cộng e có 12 sheet nhưng sheet 1 không cần in chỉ in sheet thứ 2 trở đi với điều kiện cell E6 có giá trị thì in ngược lại (bằng "" ) thì không in. Cảm ơn nhiều
 
Upvote 0
E không thể nào chạy được, bác kiểm tra lại giúp e. tổng cộng e có 12 sheet nhưng sheet 1 không cần in chỉ in sheet thứ 2 trở đi với điều kiện cell E6 có giá trị thì in ngược lại (bằng "" ) thì không in. Cảm ơn nhiều
Code có sẵn hết rồi sao lại không chạy được chứ.
Sửa thế này coi chạy không
PHP:
Sub Print_Out()
Dim sh As Worksheet
For Each sh In Worksheets
   If sh.name <> "sheet1" then ' có thể thay chữ sheet1 bằng tên sheet không muốn in
       If sh.[E6] <> "" Then
         sh.PrintOut
       End If
   End If
Next
End Sub
 
Upvote 0
Code có sẵn hết rồi sao lại không chạy được chứ.
Sửa thế này coi chạy không
PHP:
Sub Print_Out()
Dim sh As Worksheet
For Each sh In Worksheets
   If sh.name <> "sheet1" then ' có thể thay chữ sheet1 bằng tên sheet không muốn in
       If sh.[E6] <> "" Then
         sh.PrintOut
       End If
   End If
Next
End Sub
Như này mới chạy được nè, thanks bác nhiều!!!
 
Upvote 0
Web KT
Back
Top Bottom