تفضل جرب هدا
Option Explicit
Sub Convert_Arabic()
Dim WS As Worksheet, OnRng As Range, ky As Range
Dim i As Integer, j As Integer, NumArr As Variant, tmp As Variant
Dim val As String, c As String, newVal As String, n As Boolean
NumArr = Array(ChrW(1632), ChrW(1633), ChrW(1634), ChrW(1635), _
ChrW(1636), ChrW(1637), ChrW(1638), ChrW(1639), ChrW(1640), ChrW(1641))
tmp = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
Set WS = Sheets("Sheet1")
Set OnRng = WS.UsedRange
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.ErrorCheckingOptions.BackgroundChecking = False
For Each ky In OnRng
If Not IsEmpty(ky.Value) And Not ky.HasFormula Then
val = Trim(ky.Text): newVal = "": n = False
If val Like "*[" & Join(NumArr, "") & "]*" Then GoTo SubApp
If Right(val, 1) = "%" Then n = True: val = Left(val, Len(val) - 1)
For i = 1 To Len(val)
c = Mid(val, i, 1)
If c Like "[0-9]" Then
newVal = newVal & NumArr(CInt(c))
Else
newVal = newVal & c
End If
Next i
If n Then newVal = newVal & "%"
ky.NumberFormat = "@": ky.Value = newVal
End If
SubApp:
Next ky
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
أو يمكنك التنقل بينها على الشكل التالي
تحويل الورقة بالكامل الى لغة عربية دون تغير لغة الجهاز -v2 .xlsb