السلام عليكم
عندك حق أخي الكريم
أضف السطر التالي في أعلي كل دالة من الإثنتين
Application.Volatile
ليكون الكودين كالتالي
Function TAK(a As Range) As String
Application.Volatile
If a.Count > 1 Then TAK = "N/A": GoTo 10
TAK = ""
r = a.Row
For c = 3 To 15 Step 2
If IsEmpty(Cells(r, c)) Then
nr = Cells(r, c).End(xlUp).Row
TAK = TAK & Cells(nr, c): GoTo 5
End If
TAK = TAK & Cells(r, c)
5 Next c
10
End Function
=====================================================
Function SNF(a As Range) As String
Application.Volatile
If a.Count > 1 Then SNF = "N/A": GoTo 10
SNF = ""
r = a.Row
For c = 6 To 14 Step 2
If IsEmpty(Cells(r, c)) Then
nr = Cells(r, c).End(xlUp).Row
SNF = SNF & " " & Cells(nr, c): GoTo 5
End If
SNF = SNF & " " & Cells(r, c)
5 Next c
10
SNF = Trim(SNF)
End Function