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!