Nguyễn Thị Trang
Nguyễn Thị Trang
Thảo luận 1 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 377 lượt xem

Sub PhieuLuong_Noidung() Dim i As Integer Dim j As Integer i = 6 j = 6 If ThisWorkbookSheets(3)Cells(2

Sub PhieuLuong_Noidung()
Dim i As Integer
Dim j As Integer
i = 6

j = 6
If ThisWorkbook.Sheets(3).Cells(2, 9).Value = ThisWorkbook.Sheets(2).Cells(j, 1) Then

While ThisWorkbook.Sheets(2).Cells(i, 5) <> ""
ThisWorkbook.Sheets(3).Cells(6, 6) = ThisWorkbook.Sheets(2).Cells(i, 5)
ThisWorkbook.Sheets(3).PrintOut preview = False
i = i + 1
Wend
End If

End Sub
Sheets(2) là sheet Data_Tienluong
Sheets(3) là sheet Phieuluong
Em đặt lệnh như trên nhưng đến khi in hàng loạt thì xuất hiện trường hợp nếu chọn tháng , ví dụ tháng 1 thì in sẽ cứ lặp đi lặp lại nhân viên trong tháng đó.
Anh chị xem giúp em làm thế nào để chấm dứt vòng lặp đó với ạ . Em chỉ muốn in đúng nhân viên 1 lần thui ạ
Thảo luận 1 câu trả lời
Lượt xem 377 lượt xem
Vỗ tay vỗ tay
Nguyễn Thị Trang 09:04 - Apr 21, 2020
chào bạn làm thêm điều kiện là nếu tháng ở Sheets data bằng 1 thì in còn không thì bỏ qua.
if(ThisWorkbook.sheet(2).cells(j,1) = sheets(3).range("thang").value and len(sheets(3).range("o").value>0)) then
/// code vòng lặp
else
// code vòng lặp in toàn bộ
end if
trong đó tháng chính là ô bạn muốn truyền vào
Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông