Excel VBA Code to arrange Indian Names.
Use Case:
Turn:
K Sunil Agarwal
Mukesh D Ambani
Into:
Sunil Agarwal K
Mukesh Ambani D
Use Case:
Turn:
K Sunil Agarwal
Mukesh D Ambani
Into:
Sunil Agarwal K
Mukesh Ambani D
Function MoveToEnd(text As String) As String
Dim arr() As String
Dim i As Long, j As Long, k As Long
Dim nonShortWords() As String, shortWords() As String
arr = Split(text, " ")
j = UBound(arr)
k = 0
ReDim nonShortWords(k To j)
ReDim shortWords(k To j)
For i = 0 To j
If Len(arr(i)) <= 2 Then
shortWords(k) = arr(i)
k = k + 1
Else
nonShortWords(i - k) = arr(i)
End If
Next i
MoveToEnd = Join(nonShortWords) & " " & Join(shortWords)
End Function
Function UppercaseShortWords(text As String) As String
Dim arr() As String
Dim i As Long, j As Long
arr = Split(text, " ")
j = UBound(arr)
For i = 0 To j
If Len(arr(i)) <= 2 Then
arr(i) = UCase(arr(i))
End If
Next i
UppercaseShortWords = Join(arr, " ")
End Function
' Final Excel cell formula to use:
=PROPER(UppercaseShortWords(TRIM(MoveToEnd(A1))))