وعليكم السلام ورحمه الله وبركاته
استبدل كودك بهذا الكود ولا تحمل هم المعادلات فتم الاستغناء عنها في الكود مباشره
Option Explicit
Sub Test()
Dim WSData As Worksheet, WSResult As Worksheet, Arr, Ar1, Ar2
Dim I As Long, J As Long, P As Long
Application.ScreenUpdating = False
Application.EnableEvents = False
Set WSData = Worksheets("Sheet1")
Set WSResult = Worksheets("Sheet2")
Arr = WSData.Range("C10:X" & WSData.Cells(Rows.Count, 3).End(xlUp).Row).Value
ReDim Temp(1 To UBound(Arr, 1), 1 To UBound(Arr, 2))
Ar1 = Array("سكر", "أرز", "بطاطس", "عنب")
Ar2 = Array("زيادة", "ناقص", "بكثرة", "محتاج")
Dim x
For I = 1 To UBound(Arr, 1)
P = P + 1
For J = 1 To UBound(Arr, 2)
If J < 13 Then
Temp(P, J) = Arr(I, J)
Else
x = Application.Match(Arr(I, J + 1), Ar1, 0)
If Not IsError(x) Then
Temp(P, J) = Ar2(x - 1)
Temp(P, J + 1) = Arr(I, J + 1)
Else
Temp(P, J) = "مخزن"
Temp(P, J + 1) = Arr(I, J + 1)
End If
J = J + 1
End If
Next J
Next I
If P > 0 Then WSResult.Range("C10").Resize(P, UBound(Temp, 2)).Value = Temp
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub