Page 1 of 1

แจ้งเตือน MsgBox เมื่อสูตร vlookup ขึ้น #N/A

Posted: Tue Nov 08, 2016 7:49 pm
by akranan
สวัสดีครับ

ช่อง C10:J203 จะมีสูตร vlookup อยู่ แต่ถ้าสูตร error หรือ หาค่าไม่เจอจะขึ้น #N/A
ผมอยากให้แจ้งเตือนเมื่อใน cell แสดง #N/A แต่ไม่มีอะไรเกิดขึ้นเลยครับ
ไม่ทราบว่า code นี้ผิดตรงส่วนไหนครับ

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = Range("C10:J203").Address Then
If Range("C10:J203").Value = "#N/A" Then
MsgBox "เกิดข้อผิดพลาด"
End If
End If
End Sub
ขอบคุณครับ

Re: แจ้งเตือน MsgBox เมื่อสูตร vlookup ขึ้น #N/A

Posted: Tue Nov 08, 2016 8:18 pm
by snasui
:D แนบไฟล์ตัวอย่างมาด้วยเพื่อสะดวกต่อการตอบครับ

Re: แจ้งเตือน MsgBox เมื่อสูตร vlookup ขึ้น #N/A

Posted: Tue Nov 08, 2016 8:33 pm
by akranan
ผมได้แนบไฟล์ตัวอย่างแล้วครับ

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = Range("A9:C20").Address Then
If Range("A9:C20").Value = "#N/A" Then
MsgBox "ผิดพลาด"
End If
End If
End Sub

Re: แจ้งเตือน MsgBox เมื่อสูตร vlookup ขึ้น #N/A

Posted: Tue Nov 08, 2016 8:55 pm
by snasui
:D ตัวอย่าง Code ตามด้านล่างครับ

Code: Select all

If Not Intersect(Target, Range("A9:C20")) Is Nothing Then
    If Application.WorksheetFunction.IsNA(Target) Then
        MsgBox "à¡Ô´¢éͼԴ¾ÅÒ´"
    End If
End If

Re: แจ้งเตือน MsgBox เมื่อสูตร vlookup ขึ้น #N/A

Posted: Tue Nov 08, 2016 8:59 pm
by Serverchita
ลอง Code นี้ดูครับ

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
On Error GoTo NotNA
 Set ena = Nothing
 For Each r In ActiveSheet.Range("A9:C20") 'UsedRange
 If r.Text = "#N/A" Then
 MsgBox "¢éÍÁÙżԴ¾ÅÒ´", vbCritical
 If ena Is Nothing Then
 Set ena = r
 Else
 Set ena = Union(ena, r)
 End If
 End If
 Next
 ena.Select
 Exit Sub
NotNA:
End Sub

Re: แจ้งเตือน MsgBox เมื่อสูตร vlookup ขึ้น #N/A

Posted: Tue Nov 08, 2016 9:56 pm
by akranan
ขอบคุณมากๆครับ