Viết code dùng vlookup để dò giá trị nhưng bị mắc kẹt ở các giá trị trùng nhau. (2 người xem)

Người dùng đang xem chủ đề này

khaothibaclieu

Thành viên hoạt động
Tham gia
10/4/08
Bài viết
113
Được thích
14
Nhờ mọi người giúp mình với.
Yêu cầu: Viết code Dùng vlookup dò sbd ra họ tên và ngày sinh ở msgbox, nhưng nếu có nhiều người trùng tên thì phải liệt kê ra hết.
Mình đã tham khảo ở đây nhưng vẫn làm không được.

http://www.giaiphapexcel.com/forum/s...%A8U-CH%C3%89O


Gửi kèm file của mình.
 

File đính kèm

Bạn chạy macro này trên file bạn đưa lên:

PHP:
Option Explicit
Sub DoSBD_Ten_NamSinh()
 Dim Rng As Range, sRng As Range
 Dim fAdd As String, Tmp As String, SBD As String
 Const Ch9 As String = "         ":                 Const Ch2 As String = "  "
 Sheets("DS").Select
 SBD = InputBox("Nhap SBD", "GPE.COM", "001")
 Set Rng = [B7].Resize([B7].CurrentRegion.Rows.Count)
 Set sRng = Rng.Find(SBD, , xlFormulas, xlWhole)
 If Not sRng Is Nothing Then
    SBD = sRng.Offset(, 1).Value
    Set Rng = Rng.Offset(, 1)
'    MsgBox Rng.Address, , SBD'
    Set sRng = Rng.Find(SBD)
    If Not sRng Is Nothing Then
        fAdd = sRng.Address
        Do
            With sRng
                Tmp = Tmp & Chr(10) & .Offset(, -1).Value & Right(Ch9 & .Value, 22) & Right(Ch2 & CStr(.Offset(, 1).Value), 5)
            End With
            Set sRng = Rng.FindNext(sRng)
        Loop While Not sRng Is Nothing And sRng.Address <> fAdd
    End If
    MsgBox Tmp
 Else
    MsgBox "Nothing: " & SBD
 End If
End Sub
 
Upvote 0
Cám ơn bạn. Mình đã chạy thử. Code chạy rất tốt. Mình sẽ nghiên cứu, có chỗ nào không hiểu mình sẽ hỏi bạn nhé.
 
Upvote 0

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

Back
Top Bottom