اخي الفاضل المرفق في المشاركة السابقة فيه هذه الدالة
Function TransA2E(W As String) As String
On Error GoTo err:
Dim AL(), EL()
AL = Array(" ال", "َا", "ا", "أ", "آ", "ى", "إ", "ؤ", "ئ", "ب", "ت", "ث", "ج", "ح", "خ", "د", "ذ", "ر", "ز", "س", "ش", "ص", "ض", "ط", "ظ", "ع", "غ", "ف", "ق", "ك", "ل", "م", "ن", "ه", "ة", "ُوْ", "و", "ِيْ", "ي", "َ", "ً", "ُ", "ٌ", "ِ", "ٍ")
EL = Array(" al-", "a", "a", "a", "a", "a", "i", "u", "i", "b", "t", "th", "j", "ha", "kh", "d", "th", "r", "z", "s", "sh", "s", "sh", "t", "th", "a", "g", "f", "q", "k", "l", "m", "n", "h", "h", "u", "w", "i", "y", "a", "tn", "u", "un", "i", "in")
Do
p = InStr(p + 1, W, "ّ")
If p > 0 Then W = Left(W, p - 1) & Mid(W, p - 1, 1) & Mid(W, p + 1)
Loop While p > 0
For R = LBound(AL) To UBound(AL)
W = Replace(W, AL(R), EL(R))
Next
TransA2E = W
err:
End Function
ضعها في محرر الاكواد
وبعدها ستجدها اصبحت دالة من دوال الاكسل باسمTransA2E ضع الخانة المكتوب فيها الاسم المراد ترجمته
وراعِ التشكيل للحصول على ترجمة مقاربة