可能重复:
将列号转换为字母的 VBA 函数?
我想让列字母超过 Z 列,在 Z 列之前有很多技术可以得到它,但是在 Z 之后,似乎没有任何效果有没有办法做到这一点?
另一种方法:
Public Function ColumnLettersFromRange(rInput As Range) As String
ColumnLettersFromRange = Split(rInput.Address, "$")(1)
End Function
这应该做的工作:
函数 ColumnName(rng As Range) 作为字符串 暗淡为字符串 s = rng.地址(假,假) ColumnName = Left(s, Len(s) - Len(Format(rng.Row, "0"))) 结束功能
使用工作表函数来计算列字母并不是一个好的计划。使用 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)))))
最后一个在尝试计算地址中的第三个字符时失败了,我只是不能打扰,因为使用它不是一个好计划!