Вариант I, II, III (исходя из адреса ячейки)
iClmIndex = ActiveCell.Column
iAddress = ActiveCell.Address
iColumn = Mid(iAddress, 2, IIf(iClmIndex > 26, 2, 1))
iClmIndex = ActiveCell.Column
iAddress = ActiveCell.Address(RowAbsolute:=False, ColumnAbsolute:=False)
iColumn = Left(iAddress, IIf(iClmIndex > 26, 2, 1))
iAddress = ActiveCell.EntireColumn.Address(ColumnAbsolute:=False)
iPosition = InStr(iAddress, ":") - 1
iColumn = Left(iAddress, iPosition)
Вариант IV. (исходя из номера столбца)
iClmIndex = ActiveCell.Column
Select Case iClmIndex
Case 1 To 26
iColumn = Chr(64 + iClmIndex)
Case 27 To 256
iColumn = Chr(64 + (iClmIndex \ 26)) & _
Chr(64 + iClmIndex - (iClmIndex \ 26) * 26)
End Select
iClmIndex = ActiveCell.Column
If iClmIndex < 27 Then
iColumn = Chr(64 + iClmIndex)
Else
iColumn = Chr(64 + (iClmIndex \ 26)) & _
Chr(64 + iClmIndex - (iClmIndex \ 26) * 26)
End If
Примечание: активная ячейка использована исключительно в качестве примера