بعد المشاركة الاخيرة بهذا الموضوع
تم استحدداث UDF بكود اقصر قليلاً من الكود الذي وضعه الاستاذ اسلام عبدالله أو الاستاذ عبداللله بقشير
ويستطيع استخراج الاسم الأول والثاني والثالث ..... الى ما هنالك مهما كانت الخيارات بالاسم
اترككم مع الكود أولاً
CODE
Option Explicit
Function Salim_Split_Name(N_name, n)
Dim x%
Dim arr: arr = _
Array("سيف", "عبد", "أبو", "ابو", "عز", _
"صدر", "نور", "فضل")
'++++++++++++++++++++++++++++++++++++++
Rem Array تستطيع ان تضيف اي بداية اسم مركب داخل هذا الــ
'+++++++++++++++++++++++++++++++++++++
Dim My_Col As New Collection
Dim Final_col As New Collection
Dim it, my_st, my_name
my_st = Trim(N_name)
my_name = Split(Trim(my_st))
For x = LBound(my_name) To UBound(my_name)
My_Col.Add my_name(x)
Next x
For x = 1 To My_Col.Count
If Not (IsError(Application.Match(My_Col(x), arr, 0))) Then
Final_col.Add My_Col(x) & " " & My_Col(x + 1)
x = x + 1
Else
Final_col.Add My_Col(x)
End If
Next x
If n > Final_col.Count Then
Salim_Split_Name = ""
Else
Salim_Split_Name = Final_col(n)
End If
Set My_Col = Nothing: Set Final_col = Nothing
Erase arr
End Function
الملف كنموذج مرفق