Excel-VBA:列号与字母(列名)的相互转换 (自定义函数)

'列号转字母(列名)
Function Num2Name(ByVal ColumnNum As Long) As String
    On Error Resume Next
    Num2Name = "" '超出范围返回空,如调用Num2Name(100000)
    Num2Name = Replace(Cells(1, ColumnNum).Address(0, 0), "1", "")
    'Cell.Address用来返回单元格的地址,参数(0,0)返回相对地址A1,参数(1,1)返回绝对地址$A$1
End Function

'字母(列名)转列号
Function Name2Num(ByVal ColumnName As String) As Long
    On Error Resume Next
    Name2Num = -1 '超出范围返回0,如调用Name2Num("AAAA") ,EXCEL没有那么多列
    Name2Num = Range("A1:" & ColumnName & "1").Cells.Count
End Function

猜你喜欢

转载自blog.csdn.net/jyh_jack/article/details/83821007