Convertir los nombre de columnas de letras a numeros (para utilizar cells)

27/02/2007 - 21:50 por Luis Gaona | Informe spam
Este ejemplo es muy util si alguna vez se necesitan saver a que
numero
corresponde la columna "CH" (que seria 86 si queremos usar Cells).

llamariamos la función así:
-> calcular "CH"


Public Function calcular(txt As String) As Integer
Dim pri, seg As Integer
Dim re As Integer
pri = charval(Mid(txt, 1, 1))
seg = charval(Mid(txt, 2, 1))
re = (pri * 26) + seg


If re > 256 Then ' si es mayor a 256 la combinacion de las letras es
mayor a IV
re = 0
integridad = re
End If
integridad = re
End Function


Public Function charval(ch As String) As Integer
Dim pri As Integer
pri = (Asc(ch) - 65) + 1
charval = pri
End Function
 

Leer las respuestas

#1 KL
27/02/2007 - 22:50 | Informe spam
¿bromeas?

Function NumCol(txt As String) As Integer
NumCol = Cells(1, txt).Column
End Function

y en la hoja bastaria con algo como

=COLUMNA()
o bien
=COLUMNA(H1)
o bien
=COLUMNA(INDIRECTO("H1"))

Saludos,
KL

"Luis Gaona" wrote in message news:
Este ejemplo es muy util si alguna vez se necesitan saver a que
numero
corresponde la columna "CH" (que seria 86 si queremos usar Cells).

llamariamos la función así:
-> calcular "CH"


Public Function calcular(txt As String) As Integer
Dim pri, seg As Integer
Dim re As Integer
pri = charval(Mid(txt, 1, 1))
seg = charval(Mid(txt, 2, 1))
re = (pri * 26) + seg


If re > 256 Then ' si es mayor a 256 la combinacion de las letras es
mayor a IV
re = 0
integridad = re
End If
integridad = re
End Function


Public Function charval(ch As String) As Integer
Dim pri As Integer
pri = (Asc(ch) - 65) + 1
charval = pri
End Function

Preguntas similares