ven trucos números numeros nombre letras las funciones filas encabezado cómo columnas columna cambiar excel vba excel-vba

trucos - Número de columna de Excel desde el nombre de la columna



trucos de excel pdf (5)

¿Cómo obtener el número de columna del nombre de la columna en Excel usando la macro de Excel?


Creo que quieres esto?

Nombre de columna a número de columna

Sub Sample() ColName = "C" Debug.Print Range(ColName & 1).Column End Sub

Editar : También incluye el reverso de lo que quieres

Número de columna a nombre de columna

Sub Sample() ColNo = 3 Debug.Print Split(Cells(, ColNo).Address, "$")(1) End Sub

SEGUIR

Al igual que si tengo un campo de salario en la parte superior, digamos en la celda C (1,1) ahora si modifico el archivo y cambio la columna de salario a otro lugar digamos F (1,1) entonces tendré que modificar el código para Quiero que el código verifique el salario y encuentre el número de columna y luego haga el resto de las operaciones de acuerdo con ese número de columna.

En tal caso, recomendaría utilizar .FIND Ver este ejemplo a continuación

Option Explicit Sub Sample() Dim strSearch As String Dim aCell As Range strSearch = "Salary" Set aCell = Sheet1.Rows(1).Find(What:=strSearch, LookIn:=xlValues, _ LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False) If Not aCell Is Nothing Then MsgBox "Value Found in Cell " & aCell.Address & _ " and the Cell Column Number is " & aCell.Column End If End Sub

INSTANTÁNEA


En mi opinión, la forma más sencilla de obtener el número de columna es:
Sub Sample() ColName = ActiveCell.Column MsgBox ColName End Sub


Escriba y ejecute el siguiente código en la ventana Inmediato

?cells(,"type the column name here").column

Por ejemplo ?cells(,"BYL").column 2014. El código no distingue entre mayúsculas y minúsculas, por lo tanto, puede escribir ?cells(,"byl").column y la salida seguirá siendo la misma.


Mientras buscabas una solución de VBA, este fue mi resultado principal en google cuando buscaba una solución de fórmula, así que agregaré esto a todos los que vinieron por eso como yo:

Fórmula de Excel para devolver el número de una letra de columna (del comentario de @ A. Klomp anterior), donde la celda A1 contiene su (s) letra (s) de columna:

= columna (indirecta (A1 y "1"))

Como la función indirecta es volátil, se vuelve a calcular cada vez que se cambia una celda, por lo que si tiene muchas puede ralentizar su libro de trabajo. Considere otra solución, como la función ''código'', que le da el número de un carácter ASCII, comenzando con ''A'' en 65. Tenga en cuenta que para hacer esto, necesitará verificar cuántos dígitos hay en el nombre de la columna, y altere el resultado según ''A'', ''BB'' o ''CCC''.

Fórmula de Excel para devolver la letra de la columna de un número (de esta pregunta anterior Cómo convertir un número de columna (por ejemplo, 127) en una columna de Excel (por ejemplo, AA) , respondida por @Ian), donde A1 contiene su número de columna:

= sustituto (dirección (1, A1,4), "1", "")

Tenga en cuenta que ambos métodos funcionan independientemente de la cantidad de letras en el nombre de la columna.

Espero que esto ayude a alguien más.


Puede omitir todo esto y simplemente poner sus datos en una tabla. Luego consulte la tabla y el encabezado, y será completamente dinámico. Sé que esto es de hace 3 años, pero a alguien todavía le puede resultar útil.

Código de ejemplo:

Activesheet.Range("TableName[ColumnName]").Copy

También puedes usar :

activesheet.listobjects("TableName[ColumnName]").Copy

Incluso puede usar este sistema de referencia en fórmulas de hojas de trabajo. Es muy dinámico.

¡Espero que esto ayude!