- Tham gia
- 8/6/06
- Bài viết
- 14,566
- Được thích
- 22,872
- Nghề nghiệp
- U80
Để viết hàm tự tạo, chủ yếu là tra ngược từ dưới lên, mình đã làm như sau & chạy ổn!:
Mình thấy vẫn còn dài & thử viết ngắn lại, như sau:
Hàm làm không cho kết quả đúng, khi tìm ngược
(ác bạn giúp mình phát hiện chổ sai với!
Mã:
Option Explicit [b]
Function GVLooKup(LookUpVar, Rng As Range, Col As Byte, Optional Nguoc As Boolean)[/b]
On Error GoTo ErrGVLK
Dim vValues()
Dim lLong As Long
vValues = Rng
If Nguoc Then
For lLong = UBound(vValues) To 1 Step -1
2 If LookUpVar = vValues(lLong, 1) Then
3 GVLooKup = vValues(lLong, Col)
4 Exit For
5 End If
Next
Else
7 For lLong = 1 To UBound(vValues)
8 If LookUpVar = vValues(lLong, 1) Then
9 GVLooKup = vValues(lLong, Col)
Exit For
End If
Next
End If
LoiGVLK: Exit Function
ErrGVLK: GVLooKup = "Xem Lai!"
[/b]
End Function[/b]
Mã:
[b]
Function G_VLooKup(LookUpVar, Rng As Range, Col As Byte, Optional Nguoc As Boolean)[/b]
On Error GoTo Err_GVLK
Dim vValues()
Dim BatDau, Cuoi, lLong As Long
vValues = Rng
If Nguoc Then
BatDau = UBound(vValues): Cuoi = 1
Else
BatDau = 1: Cuoi = UBound(vValues)
End If
For lLong = BatDau To Cuoi
If LookUpVar = vValues(lLong, 1) Then
G_VLooKup = vValues(lLong, Col) : Exit For
End If
Next
Exit Function
Err_GVLK: G_VLooKup = "Xem Lai!" [b]
End Function[/b]
Hàm làm không cho kết quả đúng, khi tìm ngược
(ác bạn giúp mình phát hiện chổ sai với!
Lần chỉnh sửa cuối: