แจ้ง และ รายงานผลการค้นหาของ VLOOKUP ด้วย VBA
ฝัง
- เผยแพร่เมื่อ 15 พ.ย. 2024
- แจ้ง และ รายงานผลการค้นหาของ VLOOKUP ด้วย VBA
ในการค้นหาด้วย VLOOKUP เป็นเรื่องปกติที่จะมีรายการค้นหาบางรายการที่ไม่พบใน ตารางค้นหา เป็นการดีที่เราจะ แสดงรายงาน หรือมีการแจ้งเตือนกรณีที่พบว่ามีการค้นหาที่ไม่ สมบูรณ์
วันนี้ จะเขียน VBA เพื่อ ทำ 3 Tasks นี้คือ..
1) ไฮไลต์บรรทัดที่ค้นหาไม่พบ
2) list รายการที่ค้นหาไม่พบไปไว้ที่ หน้า Excel เพื่อชวยในการตรวจสอบในภายหลัง
3) แสดง list รายการที่ Error ด้วย message box
มาดูกันครับ
ขอให้สนุกกับการชม ครับ
------// ได้โค้ดแบบนี้ // -------
Sub VlookupFromOtherWb_ReportError()
Dim i As Long, MyErrorText As String
Dim MySourceWb As Workbook, MySourceSh As Worksheet, MySourceRng As Range
Set MySourceWb = Workbooks.Open(sh01_MainSh.Range("L1").Value)
Set MySourceSh = MySourceWb.Sheets(1)
Set MySourceRng = MySourceSh.Range("A1:H" & MySourceSh.Range("A" & Rows.Count).End(xlUp).Row)
For i = 2 To sh01_MainSh.Range("A" & Rows.Count).End(xlUp).Row
On Error Resume Next
sh01_MainSh.Range("E" & i).Value = WorksheetFunction.VLookup(sh01_MainSh.Range("A" & i).Value, MySourceRng, 5, 0)
sh01_MainSh.Range("F" & i).Value = WorksheetFunction.VLookup(sh01_MainSh.Range("A" & i).Value, MySourceRng, 6, 0)
sh01_MainSh.Range("G" & i).Value = WorksheetFunction.VLookup(sh01_MainSh.Range("A" & i).Value, MySourceRng, 7, 0)
On Error GoTo trapNotFound
sh01_MainSh.Range("H" & i).Value = WorksheetFunction.VLookup(sh01_MainSh.Range("A" & i).Value, MySourceRng, 8, 0)
Next i
MySourceWb.Close
If MyErrorText = "" Then
MsgBox "F I N I S H ! ! !"
Else
MsgBox "Not Found Report:" & MyErrorText
End If
Exit Sub
'*******************************************
trapNotFound:
sh01_MainSh.Range("E" & i, "H" & i).Value = "Not Found"
sh01_MainSh.Range("A" & i, "H" & i).Interior.Color = RGB(255, 255, 0)
MyErrorText = MyErrorText & vbNewLine & sh01_MainSh.Range("A" & i).Value & " " & "Row " & i
sh01_MainSh.Range("L6").Value = "Not Found Report:" & MyErrorText
Resume Next
End Sub
-------------//------------
....#หากสนใจเรียน_VBA_กับผม.....
👉 สมัครเรียน VBA (สอนสด) ได้ที่ลิงค์นี้เลย excelchannel.c...
👉สอนสดเจอตัว ที่ SCG experience เลียบด่วนรามอินทรา
**กรุณาทักมาจองที่ก่อน **
#รับจำนวนจำกัดเพียง_5_ท่าน (ตอนนี้เหลือ 2 ที่)
👉สอนสดทาง ZOOM (สะดวกไม่ต้องเดินทาง)
รับจำนวนจำกัด 10 ท่าน
👉 หรือ ทักมาคุยกันก่อนที่ m.me/excelbypichart หรือ โทร. 099-084-2562
🔸 เรียนจบมี...
มี Certificate
รับเข้ากลุ่มปิด Facebook เพื่อพูดคุยสอบถามเรียนรู้เพิ่มเติม
สามารถชมคลิปการเรียนย้อนหลังได้ตลอดเวลา
สามารถโทรฯ มาปรึกษางานที่ทำอยู่ได้
🔸 เราจะเรียนวันที่ 22-23 กรกฎาคม 2566
(เป็นวันเสาร์ ่และอาทิตย์)
🔸 คอร์สนี้ต้องใช้เวลาเรียน 2 วันเต็ม ๆ
👉 ติดต่อสอบถามเนื้อหาเพิ่มเติม หรือสมัครได้ที่ลิงค์นี้ m.me/excelbypichart หรือ โทร. 099-084-2562