ขอบคุณครับที่แนะนำ ทีนี้ผมเอามาปรับดูลองเลียนแบบให้คล้ายๆกับงานที่จะเอามาทำ ผลคือใช้ได้ครับ แต่มีคำถามอยู่ว่า
งานจริงๆ ข้อมูลเยอะกว่านี้มาก พอจะมีวิธีรวบ code ให้สั้นกว่านี้ได้มั้ยครับ เพราะถ้าเขียนจริงๆ คงจะยาวกว่านี้มาก
Code: Select all
Sub lookup()
Dim name, lname, r, t, m, e, sg As Range
Set name = Range("C4")
Set lname = Range("E4")
Set r = Range("G4")
Set t = Range("C7")
Set m = Range("C8")
Set e = Range("C9")
Set sg = Range("E12")
With Workbooks("a.xlsx").Worksheets(1)
Dim myrange As Range
Set myrange = .Range("A:G")
End With
lname.Value = Application.IfError(Application.WorksheetFunction.VLookup(name, myrange, 2, False), "")
r.Value = Application.IfError(Application.WorksheetFunction.VLookup(name, myrange, 3, False), "")
t.Value = Application.IfError(Application.WorksheetFunction.VLookup(name, myrange, 4, False), "")
m.Value = Application.IfError(Application.WorksheetFunction.VLookup(name, myrange, 5, False), "")
e.Value = Application.IfError(Application.WorksheetFunction.VLookup(name, myrange, 6, False), "")
sg.Value = Application.IfError(Application.WorksheetFunction.VLookup(name, myrange, 7, False), "")
End Sub