http://d.hatena.ne.jp/zecl/20090206/p1
c#しかなかったので、VB.NET版を書いた。
Public Shared Function ToAlphabet(ByVal nNumber As Integer) As String
If nNumber <= 0 Then Return ""
Dim nWorkNum As Integer = nNumber Mod 26
nWorkNum = IIf(nWorkNum = 0, 26, nWorkNum)
Dim sWorkStr As String = (Chr(nWorkNum + 64)).ToString()
If nNumber = nWorkNum Then Return sWorkStr
Return CnvColN2A((nNumber - nWorkNum) / 26) + sWorkStr
End Function
Public Shared Function ToInt(ByVal sAlphabet As String) As Integer
Dim sResult As Integer = 0
If String.IsNullOrEmpty(sAlphabet) Then Return sResult
Dim cCharAry As Char() = sAlphabet.ToCharArray()
Dim nLen As Integer = sAlphabet.Length - 1
For Each c As Char In cCharAry
Dim nAscNum As Integer = Asc(c) - 64
If nAscNum < 1 Or nAscNum > 26 Then Return 0
sResult += nAscNum * CType(Math.Pow(26, nLen), Integer)
nLen -= 1
Next
Return sResult
End Function