Page 1 of 1

vba ที่ใช้เขียน vlookup ติดตรงที่โค้ดไม่เอาข้อมูลมาค้นหาครับ

Posted: Wed Jan 30, 2019 12:44 am
by tulkavin
สอบถามหน่อยครับ

vba ที่ใช้เขียน vlookup ไล่ขั้นตอนยังไงร่อครับ
คือตอนนี้มาจนถึง vlookup ไปที่อีกไฟล์ ในแฟ้มเดียวกัน แต่มี2-3 worksheet
แล้ว vba ไม่รับค่าจากช่อง K10 มาเพื่อ lookup ข้อมูล

ไม่ทราบติดส่วนไหน รบกวนอาจารย์หน่อยครับ

ขอบคุณครับ

Re: vba ที่ใช้เขียน vlookup ติดตรงที่โค้ดไม่เอาข้อมูลมาค้นหาครับ

Posted: Wed Jan 30, 2019 10:30 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
On Error Resume Next
With tb.Sheets("AllDream")
    .Cells(8, "d") = Application.WorksheetFunction.VLookup(.Cells(10, "k"), myrange, 3, False)
End With
'Other code

Re: vba ที่ใช้เขียน vlookup ติดตรงที่โค้ดไม่เอาข้อมูลมาค้นหาครับ

Posted: Thu Jan 31, 2019 2:00 am
by tulkavin
ขอบคุณครับ อาจารย์ แต่ว่าผลลัพธ์ยังไม่ออกมาน่ะครับ ช่อง C8 ยังไม่แสดงผลลัพธ์ที่ไป vlookup จากอีกไฟล์เลย

Dim path As String
path = Application.ActiveWorkbook.path <------เก็บพาทของไฟล์
Dim FileOpen As String
FileOpen = "1Bill_ProductIn_Customer.xlsx" <------เตรียมชื่อไฟล์

Dim myrange As Range, tb As Workbook
Set tb = ThisWorkbook
Set wb = Workbooks
Workbooks.Open path & "\" & FileOpen <------สั่งเปิดไฟล์
Sheets("Cus_Name").Activate <------สั่งชีทที่ต้องการไป lookup ให้ activate
Set myrange = ActiveSheet.Range("a:n") <------กำหนดส่วนที่จะ lookup
On Error Resume Next
With tb.Sheets("AllDream") <------กลับมาที่ไฟล์แรกและให้ชีทที่ต้องการทำงาน
Cells(d, 8) = Application.WorksheetFunction.VLookup(Cells(k, 10), myrange, 3, False) <------สั่ง Vlookup แต่ผลลัพธ์ไม่มาครับ
End With
wb.Close False

Re: vba ที่ใช้เขียน vlookup ติดตรงที่โค้ดไม่เอาข้อมูลมาค้นหาครับ

Posted: Thu Jan 31, 2019 6:17 am
by snasui
tulkavin wrote: Thu Jan 31, 2019 2:00 am Cells(d, 8) = Application.WorksheetFunction.VLookup(Cells(k, 10), myrange, 3, False)
:D บรรทัดนี้ยังไม่ได้แก้ให้เป็นตามที่ผมแจ้งไป กรุณาสังเกตให้ครบทุกอักขระว่าผมคีย์ไว้อย่างไร ควรคัดลอกไปวางแทนคีย์เองจะได้ไม่พลาดครับ

Re: vba ที่ใช้เขียน vlookup ติดตรงที่โค้ดไม่เอาข้อมูลมาค้นหาครับ

Posted: Fri Feb 01, 2019 12:36 am
by tulkavin
มาละครับ ขอบคุณครับ
ผมดันแก้ไขเฉพาะส่วนในวงเล็บเอง

ควรจะ copy มาเลยใช่มั้ยครับ ขอโทษด้วยครับหากผิดกฏ

Re: vba ที่ใช้เขียน vlookup ติดตรงที่โค้ดไม่เอาข้อมูลมาค้นหาครับ

Posted: Fri Feb 01, 2019 7:08 am
by snasui
:lol: ไม่ได้มีกฎว่าต้อง Copy ไปใช้แทนการคีย์เข้าไปใหม่ แต่เพื่อลดความผิดพลาดและประหยัดเวลา สามารถ Copy ส่วนที่ได้รับคำตอบไปใช้ได้เลยครับ ;)

กฎมีแค่ 6 ข้อตามด้านบน :roll: