# 将数字字符转换为字母字符 [英] Convert numeric characters to alphabetic characters

### 问题描述

` strarr（i）= 0,1,2,3,4,5,6,7,8,9 `

` strarr（i）应为= A，B，C，D，E，F，G，H，I，J `

` ` str = .Cells（18，B  strarr（）= Split（str）对于i = LBound（strarr）到UBound（strarr）如果strarr（i）= 0然后 .Cells（24， B）=A&如果strarr（i）= 1，则 .Cells（24，C）=B&如果strarr（i）= 2，则 .Cells（24，C）=C&如果strarr（i）= 3，则 .Cells（24，D）=D& .Cells（24，D） Else 。 。 。  如果strarr（i）= 9则 .Cells（24，J）=J& .Cells（24，J） Else   End If x10 times  Next i   .Cells（24，B）=电话（24，B）& .Cells（24，C）&电话（24，D）&电话（24，E）&电话（24，F）&电池（24，G）&电池（24，H）&电话（24，I）&电话（24，I）& .Cells（24，J）  .Cells（18，D）。Value = .Cells（24，B） 工作表）.Rows（24）.ClearContents 结束 ` `

` `函数num_alpha（str As String）  Dim sTMP As String，d As Long  对于d = 1 To Len（str） sTMP = sTMP& Chr（65 + Mid（str，d，1））下一个d   num_alpha = sTMP  结束函数 ` `

` ` = num_alpha（B18） ` `

I am trying to get I/O as follows:

Input : 123490
Output : BCDEJA

Logic is simple:

if
`strarr(i)=0,1,2,3,4,5,6,7,8,9`
then
`strarr(i) should be = A,B,C,D,E,F,G,H,I,J`

code

``````str = .Cells(18, "B").Value
strarr() = Split(str)
For i = LBound(strarr) To UBound(strarr)
If strarr(i) = 0 Then
.Cells(24, "B") = "A" & .Cells(24, "B")
Else
If strarr(i) = 1 Then
.Cells(24, "C") = "B" & .Cells(24, "C")
Else
If strarr(i) = 2 Then
.Cells(24, "C") = "C" & .Cells(24, "C")
Else
If strarr(i) = 3 Then
.Cells(24, "D") = "D" & .Cells(24, "D")
Else
.
.
.

If strarr(i) = 9 Then
.Cells(24, "J") = "J" & .Cells(24, "J")
Else

End If x10 times
Next i

.Cells(24, "B") = .Cells(24, "B") & .Cells(24, "C") & .Cells(24, "D") & .Cells(24, "E") & .Cells(24, "F") & .Cells(24, "G") & .Cells(24, "H") & .Cells(24, "I") & .Cells(24, "I") & .Cells(24, "J")

.Cells(18, "D").Value = .Cells(24, "B")

Worksheets("Functions").Rows(24).ClearContents
End With
``````

Can anyone help me out where I am wrong?

Make use of the ASCII character numbers (...?) and adjust them by the digits you are converting. A capitol A is ASCII 0×41 or 65 dec.

``````Function num_alpha(str As String)
Dim sTMP As String, d As Long

For d = 1 To Len(str)
sTMP = sTMP & Chr(65 + Mid(str, d, 1))
Next d

num_alpha = sTMP

End Function
``````

Use like any native worksheet function. In D18 as,

``````=num_alpha(B18)
``````