Option Explicit
Function NangLuong(HSL As Double, BLuong As Range, NgachMoi As String, _
Optional BacMoi As Boolean = True)
1 Dim Rng As Range, sRng As Range, Clls As Range
Set Rng = BLuong.Cells(1, 1).Resize(BLuong.Rows.Count)
3 Set sRng = Rng.Find(NgachMoi, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
5 For Each Clls In sRng.Offset(, 1).Resize(, BLuong.Columns.Count)
If BacMoi Then
7 If Clls.Value > HSL Then
NangLuong = Clls.Column - 1: Exit For
9 End If
Else
11 If Clls.Value > HSL Then
NangLuong = Clls.Value: Exit For
13 End If
End If
15 Next Clls
Else
17 MsgBox "Nothing"
End If
End Function
file của bác SA-DQ rất đúng ý của em. Em xin cảm ơn các bác đã quan tâm giúp em. Nhưng bác SA-DQ ơi sao bác kô chú thích dòng lệnh để ít nhất là em có thể học hỏi.
Function NangLuong(HSL As Double, BLuong As Range, NgachMoi As String, _
Optional BacMoi As Boolean = True)
Em còn một chút yêu cầu nho nhỏ của bài toán nữa nhờ các bác giúp. (Trước đây em có đưa vào nhưng bác khieukienag đề nghị rút bớt đi cho đơn giản), giờ em đưa vào các bác giúp em.
Option Explicit
Function NgayXepLuong(NgachCu As String, HieuHSL As Double, BLuong As Range, _
DateHuong As Date, DateTuyen As Date) As Date
Dim sRng As Range, Rng As Range
Set Rng = BLuong.Cells(1, 1).Resize(BLuong.Rows.Count)
Set sRng = Rng.Find(NgachCu, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
If HieuHSL >= sRng.Offset(, 14).Value Then
NgayXepLuong = DateTuyen
Else
NgayXepLuong = DateHuong
End If
End If
NgayXepLuong = Format(NgayXepLuong, "dd/mm/yyyy")
End Function