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

查看:163
本文介绍了将数字字符转换为字母字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


输入:123490

输出:BCDEJA


逻辑很简单:



如果

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
结束

任何人都可以帮助我我错了吗?

解决方案

使用ASCII字符编号(...?),转换。国会大厦 A 是ASCII 0×41或65 dec。

 函数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

结束函数

使用像任何本地工作表函数。在D18中,

  = 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)

      

这篇关于将数字字符转换为字母字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆