Có một các đơn giản để Chuyển số thành tên cột trong excel vba, đó là sử dụng Cells(rowIndex, colIndex).Address để lấy địa chỉa của Cell. Định dạng của địa chỉ là $[row number]$[column letter] (ví dụ: $1$AA). Chúng ta chỉ cần phân chia địa chỉ thành mảng các ký tự theo ký tự $. Từ đó sẽ lấy được tên cột.
Ví dụ chuyển số thành tên cột trong excel vba
Tạo hàm convertNumberToLetter().
'********************************
' convert number (iCol) to letter
'*******************************
Function convertNumberToLetter(iCol As Integer) As String
Dim aSplit As Variant
aSplit = Split(Cells(1, iCol).Address, "$")
convertNumberToLetter = aSplit(1)
End Function
Tạo hàm ClickButton() và nút Convert.
'********************************
' action of Convert button
'*******************************
Sub ClickButton()
Dim wb As Workbook
Dim ws As Worksheet
Dim iCol As Integer
Set wb = Application.ActiveWorkbook
Set ws = wb.Sheets(1)
iCol = ws.Cells(1, 1)
ws.Cells(1, 2) = convertNumberToLetter(iCol)
End Sub
Demo
Nhập cell A1 bằng 27:
Click nút Convert: