Senin, 23 Juli 2012

Get Column Letter From Number

Berikut ini adalah macro untuk konversi dari number ke column character.
(dibuat hingga 3 digit kolom, bagi pengguna Microsoft Excel 2010)

Function m_GetCell(iColumn As Integer) As String
  Dim i, vColumn1, vColumn2, vColumn3 As Integer
  Dim sColumn As String
 
  If iColumn <= 26 Then
    vColumn1 = iColumn + 64
  End If
  If iColumn > 26 And iColumn <= 26 * 26 Then
    vColumn1 = (iColumn - (iColumn Mod 26)) \ 26 + 64
    vColumn2 = iColumn Mod 26 + 64
  End If
  If iColumn > 26 * 26 And iColumn <= 26 * 26 * 26 Then
    vColumn1 = (((iColumn - (iColumn Mod 26)) \ 26) - ((iColumn - (iColumn Mod 26)) \ 26) Mod 26) \ 26 + 64
    vColumn2 = (iColumn - (iColumn Mod 26)) \ 26 Mod 26 + 64
    vColumn3 = iColumn Mod 26 + 64
  End If
  m_GetCell = Chr(vColumn1) & Chr(vColumn2) & Chr(vColumn3)
End Function


Sub test()
    MsgBox m_GetCell(16383)
End Sub


Semoga membantu,

Thanks