在Excel中,列名类似于A,B,C,当超过26时,列名变为27,AB等AA。当到达AZ时,列名变为BA,依此类推。
如何在名称和数字之间轻松转换?我正在寻找可以在两者之间切换的计算器。
例如:当我打“ 28”时,它应该返回“ AB”。如果我打“ AB”,“ 28”。我希望已经有一个在线计算器。
答案 0 :(得分:1)
对于28次尝试的AB,
dim cola as string
cola = split(cells(1, 28).address, "$")(1)
debug.print cola
对于AB的28,请尝试
dim coli as long
coli = cells(1, "AB").column
debug.print coli
在工作表上,在A1中键入 AB ,并在B1中使用此公式获得28,
=column(indirect(a1&":"&a1))
在工作表上,在A1中键入 28 ,并在B1中使用此公式获得AB,
=substitute(address(1, a1, 4, 1), 1, "")
答案 1 :(得分:1)
一些用户定义的代码和工作表功能
Option Explicit
Public Sub TEST()
Debug.Print GetColNumber("AB")
Debug.Print GetColLetter(28)
End Sub
Public Function GetColNumber(ByVal columnHeader As String) As Long
GetColNumber = Evaluate("CELL(""col"", " & columnHeader & "1)")
End Function
Public Function GetColLetter(ByVal columnNumber As Long) As String
GetColLetter = Split(Evaluate("ADDRESS(1," & columnNumber & ",4)"), 1)(0)
End Function