زملائي الاعزاء اريد أن أعرف ما هو الخطأ في هذا الكود والذي يجعل الرسالة تظهر مرتين بالرغم من تحديد المستخدم لأحد الخيارين نعم او لا
Private Sub Worksheet_Change(ByVal Target As Range)
Dim inters As Range, x As Range
Dim intButSelected As Integer, intButType As Integer
Dim strMsgPrompt As String, strMsgTitle As String
Set inters = Intersect(Target, Range("H3:H378"))
strMsgPrompt = "Have you changed the engine oil?"
strMsgTitle = "Engine Oil"
intButType = vbYesNo + vbQuestion + vbDefaultButton2
If inters Is Nothing Then Exit Sub
For Each x In inters
If x.Value <> 0 Then
MsgBox strMsgPrompt, intButType, strMsgTitle
If MsgBox(strMsgPrompt, intButType, strMsgTitle) = vbYes Then
Range("H3:H378").Font.ColorIndex = 0
x.Font.ColorIndex = 3
Sheets("Sheet1").Range("L5").Value = x.Value
Else
End
End If
End If
Next
End Sub