Obtener la letra de una columna VBA Excel

Algunas veces queremos saber la letra o nombre de la columna pero solo sabemos el numero de la columna es decir solo sabemos que es la columna número 100 pero queremos saber que nombre o letra tiene, para eso hay una forma fácil de saber la letra de dicha columna a partir del número de columna y es con la siguiente función

Function NombreColumna(NumeroColumna As Long) As String
    Dim Max As Integer
    Max = ActiveSheet.Range("1:1").Columns.Count
    If NumeroColumna <= Max And NumeroColumna > 0 Then
        NombreColumna = Mid(ActiveSheet.Cells(1, NumeroColumna).Address, 2, InStr(2, ActiveSheet.Cells(1, NumeroColumna).Address, "$") - 2)
    Else
        MsgBox "Debe Ingresar un Número de Columna Entre 1 y " & Max
    End If
End Function


Esta función se debe colocar en un Módulo, en caso de que el numero no corresponda a una columna muestra un mensaje indicando el rango permitido. La función debe llamarse de la siguiente forma

Dim NombreCol As String
NombreCol=NombreColumna(15)
Msgbox NombreCol

Este código muestra el nombre de la columna número 15.

Anuncios

10 pensamientos en “Obtener la letra de una columna VBA Excel

  1. No me funcionó, me arroja error.
    Con base en lo que leí en otros foros, organicé la siguiente función

    Public Function NombreColumna(NumeroColumna As Long) As String
    If NumeroColumna > 26 Then
    NombreColumna = Left(Cells(1, NumeroColumna).Address(False, False), 2)
    Else
    NombreColumna = Left(Cells(1, NumeroColumna).Address(False, False), 1)
    End If
    End Function

    • ¿Podrias ser mas especifico en el error que te arroja la función?
      La función que sugieres funciona a medias, prueba con la columna 1000 y te va a devolver AL, pero con mi función te devuelve ALL que es lo correcto.

  2. Yo ando buscando una funcion que me permita saber que nombre tiene la celda cuando encuentra cierto contenido especifico. Yo Tengo una columna con un enunciado: “Id” y debajo tengo la lista de Identificadores.
    Entonces quiero conocer que nombre tiene la celda del primer identificador encontrado, y del ultimo identificador encontrado. De esa manera obtener un rango, y exportar esos valores a un archivo .txt

    El metodo de exportacion ya lo tengo, pero quisiera saber si me puedes ayudar con la funcion para encontrar los valores y conocer el rango… TE lo agradeceria mucho. Saludos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s