Page 1 of 1

Msgbox ใส่เหตุผลเมื่อมีค่าในช่องที่กำหนด

Posted: Wed May 02, 2018 8:11 pm
by nongvivi
ต้องการให้ดูค่าในช่อง N65-Q65 ถ้ามีค่าแล้วในช่อง R65 ว่างให้ขึ้น Msgbox
และถ้ามีค่าในช่อง N66-Q66 ถ้ามีค่าแล้วในช่อง R66 ว่างให้ขึ้น Msgbox

เขียนโค้ดออกมาแล้วแต่ติดปัญหาตรงที่ว่า พอช่อง R65 ไม่ว่าง โค้ดในช่อง N66-Q66 มันไม่ทำงานไปเลยเพราะสั่งให้มัน Exit Sub ต้องใช้ Code ไหนเข้ามาช่วยคะ?

พยายามทำแล้วแต่ไม่รอดค่ะ

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)

Dim ACC1821259 As String

' 821259 R1 Reason No.1
B821259 = Sheets("Inp-Exp1").Range("D60")
R1821259 = Sheets("Inp-Exp1").Range("F65")


If Range("N65") Or Range("O65") Or Range("P65") Or Range("Q65") <> 0 Then
If Range("R65") <> "" Then Exit Sub
ACC1821259 = InputBox("¡ÃسҡÃÍ¡à˵ؼźѭªÕ" & vbCrLf & (B821259) & vbCrLf & "Í×è¹æ - " & (R1821259), "", "")
If ACC1821259 = vbNullString Then Exit Sub
Range("R65") = ACC1821259

' 821259 R2 Reason No.2
B821259 = Sheets("Inp-Exp1").Range("D60")
R2821259 = Sheets("Inp-Exp1").Range("F66")
If Range("N66") Or Range("O66") Or Range("P66") Or Range("Q66") <> 0 Then
If Range("R66") <> "" Then Exit Sub
ACC2821259 = InputBox("¡ÃسҡÃÍ¡à˵ؼźѭªÕ" & vbCrLf & (B821259) & vbCrLf & "Í×è¹æ - " & (R2821259), "", "")
If ACC2821259 = vbNullString Then Exit Sub
Range("R66") = ACC2821259


End If
End If
End Sub

Re: Msgbox ใส่เหตุผลเมื่อมีค่าในช่องที่กำหนด

Posted: Wed May 02, 2018 8:19 pm
by snasui
:D แนบตัวอย่างไฟล์มาด้วยจะได้ช่วยทดสอบให้ได้ครับ

Re: Msgbox ใส่เหตุผลเมื่อมีค่าในช่องที่กำหนด

Posted: Wed May 02, 2018 8:32 pm
by nongvivi
ขอโทษทีค่ะ ไม่ได้แนบไฟล์

Re: Msgbox ใส่เหตุผลเมื่อมีค่าในช่องที่กำหนด

Posted: Wed May 02, 2018 8:46 pm
by snasui
:D ตัวอย่างการตรวจสอบแบบ Or ตามด้านล่างครับ

Code: Select all

If Range("N65") <> 0 Or Range("O65") <> 0 Or Range("P65") <> 0 Or Range("Q65") <> 0 Then