Archive for August, 2009

Sometimes you want to list the column letters.  You could just use the CHAR function, but when you get past Z and move on to AB and beyond, that system breaks down.

Here is a function to use to return the column letter(s) to place in a module.  In Excel 2007 it will automatically pop up with the default functions.

Function ColumnLetter(ColumnNumber As Integer) As String
If ColumnNumber > 26 Then

‘ 1st character:  Subtract 1 to map the characters to 0-25,
‘                 but you don’t have to remap back to 1-26
‘                 after the ‘Int’ operation since columns
‘                 1-26 have no prefix letter

‘ 2nd character:  Subtract 1 to map the characters to 0-25,
‘                 but then must remap back to 1-26 after
‘                 the ‘Mod’ operation by adding 1 back in
‘                 (included in the ’65′)

ColumnLetter = Chr(Int((ColumnNumber – 1) / 26) + 64) & _
Chr(((ColumnNumber – 1) Mod 26) + 65)
Else
‘ Columns A-Z
ColumnLetter = Chr(ColumnNumber + 64)
End If
End Function