要求不高就用上面的吧,那段代码缺点是 如果输入的范围超过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 位字母的,如果更多,照着加上去就好了。