在VBA中将数字转换为字母数字

在VBA中将数字转换为字母数字,vba,Vba,我正在使用下面的代码作为一个更大代码的一部分,将一个数字转换为其字母数字相等的值,即1=a,2=B,等等。虽然这确实有效,但它是一个非常长的代码,我相信有更好的方法来实现这一点,希望你们能提供帮助 Sub Convert() Time = Range("A1") If Time = 1 Then E = "A" Else If Time = 2 Then E = "B" Else If Time = 3 Then E = "C" Else If Time = 4 Th

我正在使用下面的代码作为一个更大代码的一部分,将一个数字转换为其字母数字相等的值,即1=a,2=B,等等。虽然这确实有效,但它是一个非常长的代码,我相信有更好的方法来实现这一点,希望你们能提供帮助

Sub Convert()

Time = Range("A1")

If Time = 1 Then
    E = "A"
Else
If Time = 2 Then
    E = "B"
Else
If Time = 3 Then
    E = "C"
Else
If Time = 4 Then
    E = "D"
Else
If Time = 5 Then
    E = "E"
Else
If Time = 6 Then
    E = "F"
Else
If Time = 7 Then
    E = "G"
Else
If Time = 8 Then
    E = "H"
Else
If Time = 9 Then
    E = "I"
Else
If Time = 10 Then
    E = "J"
Else
If Time = 11 Then
    E = "K"
Else
If Time = 12 Then
    E = "L"
Else
If Time = 13 Then
    E = "M"
Else
If Time = 14 Then
    E = "N"
Else
If Time = 15 Then
    E = "O"
Else
If Time = 16 Then
    E = "P"
Else
If Time = 17 Then
    E = "Q"
Else
If Time = 18 Then
    E = "R"
Else
If Time = 19 Then
    E = "S"
Else
If Time = 20 Then
    E = "T"
Else
If Time = 21 Then
    E = "U"
Else
If Time = 22 Then
    E = "V"
Else
If Time = 23 Then
    E = "W"
Else
If Time = 24 Then
    E = "X"
Else
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If

MsgBox E



End Sub
这是一种方式

Sub numberToLetter()

    Dim Time As Integer
    Dim E As String

    Time = Range("A1")

    If Time > 26 Then
        E = Chr(Int((Time - 1) / 26) + 64) & Chr(((Time - 1) Mod 26) + 65)
    Else
        E = Chr(Time + 64)
    End If

End Sub
注释

Chr
返回基于

的字符这是一种方法

Sub numberToLetter()

    Dim Time As Integer
    Dim E As String

    Time = Range("A1")

    If Time > 26 Then
        E = Chr(Int((Time - 1) / 26) + 64) & Chr(((Time - 1) Mod 26) + 65)
    Else
        E = Chr(Time + 64)
    End If

End Sub
注释

Chr
返回基于

的字符这是一种方法

Sub numberToLetter()

    Dim Time As Integer
    Dim E As String

    Time = Range("A1")

    If Time > 26 Then
        E = Chr(Int((Time - 1) / 26) + 64) & Chr(((Time - 1) Mod 26) + 65)
    Else
        E = Chr(Time + 64)
    End If

End Sub
注释

Chr
返回基于

的字符这是一种方法

Sub numberToLetter()

    Dim Time As Integer
    Dim E As String

    Time = Range("A1")

    If Time > 26 Then
        E = Chr(Int((Time - 1) / 26) + 64) & Chr(((Time - 1) Mod 26) + 65)
    Else
        E = Chr(Time + 64)
    End If

End Sub
注释


Chr
返回基于

的字符更简单、更可靠的方法是使用Excel已经提供的内容,这意味着“每个字母都与范围内的一个数字相关联”:


更简单、更可靠的方法是使用Excel已经提供的内容,这意味着“每个字母都与范围内的一个数字相关联”:


更简单、更可靠的方法是使用Excel已经提供的内容,这意味着“每个字母都与范围内的一个数字相关联”:


更简单、更可靠的方法是使用Excel已经提供的内容,这意味着“每个字母都与范围内的一个数字相关联”:



很有趣,谢谢。我不知道这些数字是从哪里来的,它们是什么mean@ChadPortman,我建议您阅读tospig添加的链接,以便更好地了解Chr()的功能。先生,我还有很多关于VBA的知识要学习。我能绕着大多数人转。但我开始谈论VBA可以做什么,我得到的任务超出了我的知识范围,所以你们可以帮助我:)很有趣,谢谢。我不知道这些数字是从哪里来的,它们是什么mean@ChadPortman,我建议您阅读tospig添加的链接,以便更好地了解Chr()的功能。先生,我还有很多关于VBA的知识要学习。我能绕着大多数人转。但我开始谈论VBA可以做什么,我得到的任务超出了我的知识范围,所以你们可以帮助我:)很有趣,谢谢。我不知道这些数字是从哪里来的,它们是什么mean@ChadPortman,我建议您阅读tospig添加的链接,以便更好地了解Chr()的功能。先生,我还有很多关于VBA的知识要学习。我能绕着大多数人转。但我开始谈论VBA可以做什么,我得到的任务超出了我的知识范围,所以你们可以帮助我:)很有趣,谢谢。我不知道这些数字是从哪里来的,它们是什么mean@ChadPortman,我建议您阅读tospig添加的链接,以便更好地了解Chr()的功能。先生,我还有很多关于VBA的知识要学习。我能绕着大多数人转。但我开始谈论VBA可以做什么,我得到的任务超出了我的知识范围,所以你们可以帮助我:)简洁明了;我不知道这个方法,但从现在起将使用它。这是一个很好的算法,但这只会给你更多的确定性,因为它利用了“每一列都可以表示为字母(a,B,C…)或数字(1,2,3…)Matteo在一天内不止一次地拯救了我们,简洁明了;我不知道这种方法,但从现在起将使用它。onYour的算法很好,但这只会给你更多的确定性,因为它利用了“每一列都可以表示为字母(a,B,C…)或数字(1,2,3…)Matteo在一天中不止一次地进行营救,简洁而漂亮;我不知道这个方法,但从现在起将使用它。这是一个很好的算法,但这只会给你更多的确定性,因为它利用了“每一列都可以表示为字母(a,B,C…)或数字(1,2,3…)Matteo在一天内不止一次地拯救了我们,简洁明了;我不知道这种方法,但从现在起将使用它。onYour的算法很好,但这只会给你更多的确定性,因为它利用了“每一列都可以表示为字母(a,B,C…)或数字(1,2,3…)Matteo在一天内不止一次拯救您的代码注释:为了避免出现多个
If
End If
语句,您可以使用
If。。。如果。。。如果。。。如果
语法,则结束。或者,
选择大小写
,类似于
选择大小写时间
大小写1:E=“A”
大小写2:E=“B”
,等等,直到
结束选择
。代码上的注意事项:为了避免出现多个
如果
结束如果
语句,您可以使用
如果。。。如果。。。如果。。。如果
语法,则结束。或者,
选择大小写
,类似于
选择大小写时间
大小写1:E=“A”
大小写2:E=“B”
,等等,直到
结束选择
。代码上的注意事项:为了避免出现多个
如果
结束如果
语句,您可以使用
如果。。。如果。。。如果。。。如果
语法,则结束。或者,
选择大小写
,类似于
选择大小写时间
大小写1:E=“A”
大小写2:E=“B”
,等等,直到
结束选择
。代码上的注意事项:为了避免出现多个
如果
结束如果
语句,您可以使用
如果。。。如果。。。如果。。。如果
语法,则结束。或者,
选择案例
,类似于
选择案例时间
案例1:E=“A”
案例2:E=“B”
,等等,直到
结束选择