Xin code VBA thay thế hàm Vlookup

Liên hệ QC

tuananhst91

Thành viên mới
Tham gia
3/8/16
Bài viết
13
Được thích
0
Nhờ ACE trong diễn đàn giúp mình tạo code thay thế hàm vlookup.
 

File đính kèm

Nhờ ACE trong diễn đàn giúp mình tạo code thay thế hàm vlookup.
Bạn chèn code sau vào sheet Vitri
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range, fRng As Range
With Target
    If .Column = 6 And .Count = 1 Then
        Set Rng = Sheet1.Range("A2:A" & Sheet1.Range("A65535").End(xlUp).Row)
        Set fRng = Rng.Find(.Value, , , 1, , , 1)
        If Not fRng Is Nothing Then
            .Offset(, 7) = fRng.Offset(, 3)
            .Offset(, 8) = fRng.Offset(, 6)
            .Offset(, 9) = fRng.Offset(, 1)
            .Offset(, 10) = fRng.Offset(, 2)
        Else
            .Offset(, 7).Resize(, 4).ClearContents
        End If
    ElseIf .Column = 7 And .Count = 1 Then
        Set Rng = Sheet2.Range("A3:A" & Sheet2.Range("A65535").End(xlUp).Row)
        Set fRng = Rng.Find(.Value, , , 1, , , 1)
        If Not fRng Is Nothing Then
            .Offset(, 10) = fRng.Offset(, 1)
            .Offset(, 11) = fRng.Offset(, 2)
        Else
            .Offset(, 10).Resize(, 2).ClearContents
        End If
    End If
End With
End Sub
Không nên viết nhiều bài giống nhau, vi phạm nội quy diễn đàn.
 

File đính kèm

Upvote 0
Upvote 0
Bạn chèn code sau vào sheet Vitri
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range, fRng As Range
With Target
    If .Column = 6 And .Count = 1 Then
        Set Rng = Sheet1.Range("A2:A" & Sheet1.Range("A65535").End(xlUp).Row)
        Set fRng = Rng.Find(.Value, , , 1, , , 1)
        If Not fRng Is Nothing Then
            .Offset(, 7) = fRng.Offset(, 3)
            .Offset(, 8) = fRng.Offset(, 6)
            .Offset(, 9) = fRng.Offset(, 1)
            .Offset(, 10) = fRng.Offset(, 2)
        Else
            .Offset(, 7).Resize(, 4).ClearContents
        End If
    ElseIf .Column = 7 And .Count = 1 Then
        Set Rng = Sheet2.Range("A3:A" & Sheet2.Range("A65535").End(xlUp).Row)
        Set fRng = Rng.Find(.Value, , , 1, , , 1)
        If Not fRng Is Nothing Then
            .Offset(, 10) = fRng.Offset(, 1)
            .Offset(, 11) = fRng.Offset(, 2)
        Else
            .Offset(, 10).Resize(, 2).ClearContents
        End If
    End If
End With
End Sub
Không nên viết nhiều bài giống nhau, vi phạm nội quy diễn đàn.

Cảm ơn bạn nhiều!
 
Upvote 0
Bạn đăng bài 2 nơi, cùng nội dung câu hỏi, cùng file đính kèm. {1.}
....
Nhiều người xem qua nhưng không tham gia trả lời có thể họ không hiểu ACE là gì. {2.}
Tôi nghĩ là bạn không thực tế.
1. Việc đăng bài 2 nơi là việc thường thấy. Thành viên mới cũ gì cũng làm tuốt. Nếu diễn đàn không có biện pháp rõ rệt thì những lời khuyến cáo bạn chỉ là nước đổ lá môn.
2. Mới đăng 5 phút đã có câu trả lời thì không thể gọi là "không hiểu" được.
 
Upvote 0

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom