Tạo cảnh báo khi ngày hợp đồng hết hạn

Liên hệ QC

saobekhonglac

Thành viên mới
Tham gia
1/11/08
Bài viết
1,565
Được thích
1,454
Giới tính
Nam
Dear all.

ACE hướng dẫn giúp mình code tạo cảnh báo khi hợp đồng hết hạn, ví dụ hạn hợp đồng là ngày 15/01/2015, hôm nay là ngày 16/01/2015 thì hợp đồng sẽ hết hạn, ngày hợp đồng mình để ở cột C, cột D là mình lấy ngày hợp đồng trừ với ngày hiện tại, nếu cột D <0 thì hợp đồng đó là hết hạn, mình dùng định dạng có điều kiện thì sẽ tô màu những số <0 thì được, nhưng công ty có hơn 1000 hợp đồng, như vậy hằng ngày phải fillter thì cũng mất time, nhờ ACE cho mình xin code để khi hợp đồng hết hạn sẽ cảnh báo bằng đoạn text.

Thanks all.
 

File đính kèm

quá dễ, đây nè bạn
CHECK=IF(COUNTIF($D$2:$D$4;"Hết Hạn")>0;"Co hop dong het han";"")
 
Dear all.

ACE hướng dẫn giúp mình code tạo cảnh báo khi hợp đồng hết hạn, ví dụ hạn hợp đồng là ngày 15/01/2015, hôm nay là ngày 16/01/2015 thì hợp đồng sẽ hết hạn, ngày hợp đồng mình để ở cột C, cột D là mình lấy ngày hợp đồng trừ với ngày hiện tại, nếu cột D <0 thì hợp đồng đó là hết hạn, mình dùng định dạng có điều kiện thì sẽ tô màu những số <0 thì được, nhưng công ty có hơn 1000 hợp đồng, như vậy hằng ngày phải fillter thì cũng mất time, nhờ ACE cho mình xin code để khi hợp đồng hết hạn sẽ cảnh báo bằng đoạn text.

Thanks all.
Theo mình ko nên cảnh báo bằng text, ví dụ cho vào một vòng lặp cảnh báo bằng Msgbox thì cực kỳ lâu, nên chẳng ghi chữ hết hạn rồi lọc ra có khi nhanh hơn bạn ah. Với trình độ của bạn nếu dùng công thức chắc không vấn đề gì
Mã:
Sub hethan()
Dim i, Sarr
Sarr = Range([C2], [C5000].End(3)).Resize(, 2).Value2
    For i = 1 To UBound(Sarr)
        If DateSerial(Year(Sarr(i, 1)), Month(Sarr(i, 1)), Day(Sarr(i, 1))) - Date < 0 Then
            Sarr(i, 2) = " het han"
        End If
    Next
    [C2].Resize(UBound(Sarr), 2).Value = Sarr
End Sub
Nếu nhiều hơn bạn thử Sub này xem rồi lọc theo hết hạn bạn ah, mình nghĩ có khi nhanh hơn đó
 
Lần chỉnh sửa cuối:
Dùng công thức thì mình làm được rồi, nhưng số lượng khách hàng của mình rất nhiều nên muốn file tự cảnh báo khi mở file lên chứ k cần mở file và lọc ra.

Thanks.
 
Dùng công thức thì mình làm được rồi, nhưng số lượng khách hàng của mình rất nhiều nên muốn file tự cảnh báo khi mở file lên chứ k cần mở file và lọc ra.

Thanks.
Nếu vậy chắc dùng sự kiện workbook open chăng
Mã:
Private Sub Workbook_Open()
Dim i, Sarr
Sarr = Range([C2], [C5000].End(3)).Resize(, 2).Value2
    For i = 1 To UBound(Sarr)
        If DateSerial(Year(Sarr(i, 1)), Month(Sarr(i, 1)), Day(Sarr(i, 1))) - Date < 0 Then
            Sarr(i, 2) = MsgBox("Het han", vbInformation, "Thoi gian thanh toan")
        End If
    Next
    [C2].Resize(UBound(Sarr), 2).Value = Sarr
End Sub
Ko biết có phải bạn muốn kiểu thế này. chép code save file rồi mở lại workbook nhé
 
Mình copy code rồi nhưng không thấy có tác dụng gì. Bạn làm trong file giúp mình được không.

Thanks.
 
Theo mình ko nên cảnh báo bằng text, ví dụ cho vào một vòng lặp cảnh báo bằng Msgbox thì cực kỳ lâu, nên chẳng ghi chữ hết hạn rồi lọc ra có khi nhanh hơn bạn ah. Với trình độ của bạn nếu dùng công thức chắc không vấn đề gì
Mã:
Sub hethan()
Dim i, Sarr
Sarr = Range([C2], [C5000].End(3)).Resize(, 2).Value2
    For i = 1 To UBound(Sarr)
        If DateSerial(Year(Sarr(i, 1)), Month(Sarr(i, 1)), Day(Sarr(i, 1))) - Date < 0 Then
            Sarr(i, 2) = " het han"
        End If
    Next
    [C2].Resize(UBound(Sarr), 2).Value = Sarr
End Sub
Nếu nhiều hơn bạn thử Sub này xem rồi lọc theo hết hạn bạn ah, mình nghĩ có khi nhanh hơn đó
Code này chạy lần 1 xong, nếu sửa lại các ngày đến hạn thì khi chạy làn 2 sẽ bị sai!
Nên có thêm đoạn code xóa kết quả " het han" ở cột D
 
Dear all.

ACE hướng dẫn giúp mình code tạo cảnh báo khi hợp đồng hết hạn, ví dụ hạn hợp đồng là ngày 15/01/2015, hôm nay là ngày 16/01/2015 thì hợp đồng sẽ hết hạn, ngày hợp đồng mình để ở cột C, cột D là mình lấy ngày hợp đồng trừ với ngày hiện tại, nếu cột D <0 thì hợp đồng đó là hết hạn, mình dùng định dạng có điều kiện thì sẽ tô màu những số <0 thì được, nhưng công ty có hơn 1000 hợp đồng, như vậy hằng ngày phải fillter thì cũng mất time, nhờ ACE cho mình xin code để khi hợp đồng hết hạn sẽ cảnh báo bằng đoạn text.

Thanks all.
Code cùi:
[GPECODE=vb]Sub Het_han()
Dim i As Long
For i = 2 To [D65536].End(xlUp).Row
If Left(Cells(i, 4), 1) = "H" Then
MsgBox "Co hop dong het han"
Cells(i, 4).Select
Exit For
End If
Next
End Sub[/GPECODE]
 
Web KT

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

Back
Top Bottom