excel中vba中通过input中的字母列标来得到其数字列表,用msgbox显示

2025-04-10 01:23:01
推荐回答(1个)
回答1:

要求不高就用上面的吧,那段代码缺点是 如果输入的范围超过excel的列范围就不行了。

给你段任意的吧:

Sub AAA()
    Dim N   As Long
    Dim C   As String
    C = InputBox("请输入列标")
    C = UCase(C)
    N = Asc(Mid(C, Len(C), 1)) - 64    '个位
    If Len(C) > 1 Then N = N + (Asc(Mid(C, Len(C) - 1, 1)) - 64) * 26    '十位
    If Len(C) > 2 Then N = N + (Asc(Mid(C, Len(C) - 2, 1)) - 64) * 26 * 26 '百位
    If Len(C) > 3 Then N = N + (Asc(Mid(C, Len(C) - 2, 1)) - 64) * 26 * 26 * 26 '千位
    MsgBox N
End Sub

上面代码最多能转换 4 位字母的,如果更多,照着加上去就好了。