Page 1 of 1

ใช้ vba vlookup อย่างไรครับ

Posted: Mon Jan 29, 2018 7:44 pm
by nararat
อาจาร์ยครับผมติดปัญหา vlookup ใช้ vba แล้วข้อมูลที่ได้ไม่ครบ
คือ เมื่อโปรแกรมรันไปถึง ข้อมูลที่ว่างไม่มีข้อมูล จะสุดแค่นั้น แต่ไม่ทำต่อจนสุด แถวนั้น ต้องแก้อย่างไรครับ
ซึ่งข้อมูลข้างล่างก็มีข้อมูลใน Data อยู่แต่ไม่ทำต่อ

Code: Select all

Sub mylookup4()
    Dim lastrow As Long
    lastrow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
    Set myrange = Sheet4.Range("A:D")
    For i = 4 To lastrow
    Cells(i, 21) = Application.WorksheetFunction.VLookup(Cells(i, 1), myrange, 3, False)
    Cells(i, 21) = Cells(i, 21)
    Next i
End Sub
Vba Vlookup.xlsm
VBA Vlookup2
(20.57 KiB) Downloaded 42 times
ขอบคุณครับ

Re: ใช้ vba vlookup อย่างไรครับ

Posted: Mon Jan 29, 2018 8:41 pm
by snasui
:D เนื่องจากเป็นการ Vlookup ค่าที่ไม่มีอยู่จึงเกิด #N/A ทำให้ Code Error

ตัวอย่างการปรับ Code ครับ

Code: Select all

'...Other code
On Error Resume Next
For i = 1 To lastrow
    Cells(i, 2) = Application.WorksheetFunction.VLookup(Cells(i, 1), myrange, 2, False)
    Cells(i, 2).Value = Cells(i, 2).Value
Next i

Re: ใช้ vba vlookup อย่างไรครับ

Posted: Mon Jan 29, 2018 8:50 pm
by nararat
ขอบคุณครับอาจาร์ย :thup:

อยากถามอาจาร์ยหน่อยนะครับ ประมาณวันอาทิตย์ผมได้ดู ไลด์สดจาก youtube ของอาจาร์ย
เรื่อง ifna กับ iferror
ถ้าใช้ vba ตัวนี้ จะครอบคุมทั้งสองตัวเลยใช่ไม่ครับ
เนื่องจากเป็นการ Vlookup ค่าที่ไม่มีอยู่จึงเกิด #N/A ทำให้ Code Error
เห็นอาจาร์ยบอกเป็น #N/A
:D

Re: ใช้ vba vlookup อย่างไรครับ

Posted: Mon Jan 29, 2018 9:06 pm
by snasui
:D ใช้ Iferror มาดักได้ครับ ส่วน Ifna จะมีใน Excel 2013 เป็นต้นไปครับ