Función que retorne letras de celdas

Nnecesito hacer una función dinámica para que me retorne las letras de las celdas y otra al revés.
Ejemplo:
NumeroALetra LetraANumero
1 = A                 |   A = 1
2 = B                 |   B = 2
..                         ..
Estás funciones me sirven, pero quiero que en forma dinámica se vaya creando el Case y la Letra, sabiendo que son las letras de las celdas de una planilla excel. (Teniendo un limite razonable como hasta AC aprox)
Function NumeroALetra(ByVal Numeri As Integer) As String
    Select Case Numeri
        Case 1
            NumeroALetra = "A"
        Case 2
            NumeroALetra = "B"
        Case 3
            NumeroALetra = "C"
        Case 4
            NumeroALetra = "D"
        Case 5
            NumeroALetra = "E"
        Case 6
            NumeroALetra = "F"
        Case 7
            NumeroALetra = "G"
        Case 8
            NumeroALetra = "H"
        Case 9
            NumeroALetra = "I"
        Case 10
            NumeroALetra = "J"
            'etc....
    End Select
End Function
Lo mismo, pero al revés.
Function LetraANumero(ByVal letra As String) As Integer
    Select Case letra
        Case "A"
            LetraANumero = 1
        Case "B"
             LetraANumero = 2
        Case "C"
             LetraANumero = 3
        Case "D"
             LetraANumero = 4
        Case "E"
             LetraANumero = 5
        Case "F"
             LetraANumero = 6
        Case "G"
             LetraANumero = 7
        Case "H"
             LetraANumero = 8
        Case "I"
             LetraANumero = 9
        Case "J"
          LetraANumero = 10
               Case "K"
          LetraANumero = 11
               Case "L"
          LetraANumero = 12
               Case "M"
          LetraANumero = 13
               Case "Ñ"
          LetraANumero = 14
            'etc....
    End Select
End Function
Gracias!

1 respuesta

Respuesta
1
Creo que esta es más sencillo:
Function NumeroCol(ByVal LetraCol As String) As Integer
NumeroCol = Range(LetraCol & "1").Column
End Function
Function LetraCol(ByVal nCol As Integer) As String
LetraCol = Replace(Cells(1, nCol).Address(False, False), "1", "")
End Function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas