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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章