جرب هذا الكود
Option Explicit
Sub Give_sum()
Dim My_val
Dim i%, s, t#
Dim x%: x = Cells(Rows.Count, "d").End(3).Row
For i = 4 To x
My_val = Split(Range("D" & i), vbLf)
My_val = Join(My_val, "+")
On Error Resume Next
s = Evaluate(My_val)
If Err.Number <> 0 Then s = 0
If s = 0 Then
Range("D" & i).Offset(, -1) = "Text"
Else
Range("D" & i).Offset(, -1) = s
End If
t = t + s
Next
Range("c" & x + 1) = t
End Sub
الملف مرفق
_salimتجربة.xlsm