Saltar al contenido

Macros cortas#1 obtener la columna en letras o en números


Antoni

Recommended Posts

publicado

Con esta función inicio una serie de pequeños aportes de macros y funciones que pueden ser de utilidad.

Obtener la columna en letras o en números

Function Columna(col)
If IsNumeric(col) = True Then
Columna = Mid(Split(Columns(col).Address, ":")(1), 2)
Else
Columna = Columns(col).Column
End If
End Function[/CODE]

[CODE]Sub Macro1()
Número = Columna("DJ") 'Devuelve 114
End Sub[/CODE]

[CODE]Sub Macro2()
Letras = Columna(114) 'Devuelve "DJ"
End Sub[/CODE]

Paz y amor

.

publicado
Con esta variante también puedes obtener la letra

Columna = VBA.Left(Columns(col).Address(0, 0), 1)[/PHP]

Saludos

Solo me funciona para las columnas de una sola letra.

.

publicado
Solo me funciona para las columnas de una sola letra.

.

Opps:D tienes razón solo funciona para una letra

Siempre con Left pero en dos lineas (pero me gusta mas tu opción)

vp = VBA.InStr(1, Columns(col).Address(0, 0), ":")
Gcolumna = VBA.Left(Columns(col).Address(0, 0), vp - 1)[/PHP]

Saludos

publicado

Excelente [uSER=46507]@Macro Antonio[/uSER] y [uSER=9328]@Gerson Pineda[/uSER] :

Yo hice uno en el que ingresas un numero y muestra la letra de la columna correspondiente. Aunque creo que es muy largo en comparación a sus códigos.

Ahi va.

Function NumLet(Num As Integer) As String
If Num > 16384 Then Exit Function
dato = Cells(1, Num).Address
NumLet = Mid(dato, 2, Len(dato) - 3)
End Function[/PHP]

Saludos

publicado

hola, a todos !

solo una sugerencia:

cambiar el nombre de la UDF (ya existe una función integrada -en español- llamada "columna")

saludos,

hector.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.