XL: Macro to Convert Column Numbers to Column Letters (153318)



The information in this article applies to:

  • Microsoft Excel 97 for Windows
  • Microsoft Excel for Windows 95
  • Microsoft Excel for Windows 5.0
  • Microsoft Excel 98 Macintosh Edition

This article was previously published under Q153318

SUMMARY

In Microsoft Visual Basic for Applications, if you use the Column property to return the column position, but you want to return the column letter instead, use the following code to convert the column number to a column letter.

MORE INFORMATION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements. The Column property returns the first column of the first area in the range as a number.

Sample Visual Basic Procedure

   Sub Convert_Column()
       Dim MyColumn As String, Here As String

       ' Get the address of the active cell in the current selection
       Here = ActiveCell.Address

       ' Because .Address is $<columnletter>$<rownumber>, drop the first
       ' character and the characters after the column letter(s).
       MyColumn = Mid(Here, InStr(Here, "$") + 1, InStr(2, Here, "$") - 2)

       ' Show the answer.
       MsgBox MyColumn

   End Sub
				
If you run this macro from a worksheet, a message box displays the active cell's column letter.

REFERENCES

"Microsoft Excel Visual Basic User's Guide," Chapter 5, page 70.

Modification Type:MinorLast Reviewed:10/11/2006
Keywords:kbdtacode kbhowto kbProgramming KB153318