我希望列字母超过Z列, 有许多技术可以在Z列之前获得它但在Z之后,似乎没有任何效果 有办法吗?
答案 0 :(得分:15)
另一种方法:
Public Function ColumnLettersFromRange(rInput As Range) As String
ColumnLettersFromRange = Split(rInput.Address, "$")(1)
End Function
答案 1 :(得分:6)
这应该做的工作:
Function ColumnName(rng As Range) As String Dim s As String s = rng.Address(False, False) ColumnName = Left(s, Len(s) - Len(Format(rng.Row, "0"))) End Function
答案 2 :(得分:2)
使用工作表函数计算列字母并不是一个好的计划。使用Peter Albert的VBA方法是一种更好的方法!
我开始使用工作表函数制作一个,只是为了好玩:/
A-ZZ
=IF(A1<27,CHAR(64+A1),IF(A1<703,CHAR(64+INT(A1/26))&CHAR(A1-INT(A1/26)+64),"TOO BIG!"))
A-XFD(不起作用)
=IF(A1<27,CHAR(64+A1),IF(A1<703,CHAR(64+INT(A1/26))&CHAR(A1-(INT(A1/26)*26)+64),CHAR(64+INT(A1/676))&CHAR(64+(INT(A1-(INT(A1/676)*676))/26))&CHAR(64+INT(A1-((INT(A1-(INT(A1/676)*676))/26)*26)))))
最后一个试图计算出地址中的第3个字符,我只是不能打扰使用它不是一个好计划!