¿Cómo obtener el número de columna del nombre de la columna en Excel usando la macro de Excel?Número de columna de Excel del nombre de la columna
Respuesta
Creo que quieres esto?
Nombre de columna a columna Número
Sub Sample()
ColName = "C"
Debug.Print Range(ColName & 1).Column
End Sub
Editar: También incluyendo la inversa de lo que quiere
Columna Número de columna de nombre
Sub Sample()
ColNo = 3
Debug.Print Split(Cells(, ColNo).Address, "$")(1)
End Sub
SEGUIMIENTO UP
Al igual que si tengo campo de salario en la parte superior permite decir en la celda C (1,1) ahora si alterar el archivo y la columna salario muevo a otro lugar decir F (1, 1) entonces tendré que modificar el código, así que 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 yo recomendaría usar .FIND
Vea este ejemplo de abajo
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
+1 Gran ojo para los detalles como de costumbre :) –
si tengo un campo de salario en la parte superior digamos en la celda C (1,1) ahora si modifico el archivo y cambio de columna salarial a otro lugar digamos F (1,1) entonces tendré que modificar el código, así que 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. –
@Paritosh Ahuja: He actualizado la publicación. –
Mientras buscaba una solución de VBA, esta fue mi mejor resultado en google cuando buscaba una solución de fórmula, así que agregaré esto para cualquiera que haya venido por eso como lo hice:
fórmula de Excel para devolver el número de una columna con la letra (desde @A. El comentario de klomp arriba), donde la celda A1 contiene la carta de columna (s):
= columna (indirecta (A1 & "1"))
Como la función indirecta es volátil, se vuelve a calcular cada vez cualquier celda se cambia, 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órmulaExcel para devolver la carta columna de un número (A partir de esta pregunta anterior How to convert a column number (eg. 127) into an excel column (eg. AA), respondida por @Ian), donde A1 tiene 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.
@ExcelHero Te estás perdiendo el sentido de lo anterior: en mis soluciones, la celda A1 * contiene * la columna Letra/Número. Su solución codifica la solución para convertir "A" a 1, o 1 a "A". Mi versión simplemente muestra cómo hacer esto de forma dinámica (aunque si quieres hardcode, sí, eso también es posible).Por favor, entre y pruebe estas usted mismo, ya que he confirmado que funcionan. –
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 Ejemplo:
Activesheet.Range("TableName[ColumnName]").Copy
También puede utilizar:
activesheet.listobjects("TableName[ColumnName]").Copy
Incluso puede utilizar este sistema de referencia en las fórmulas de la hoja de trabajo también. Es muy dinámico.
Espero que esto ayude!
escribir y ejecutar el siguiente código en la ventana Inmediato
?cells(,"type the column name here").column
Por ejemplo ?cells(,"BYL").column
volverá 2014. El código es sensible a las mayúsculas, por lo tanto usted puede escribir ?cells(,"byl").column
y la salida seguirá siendo la misma.
En mi opinión la forma más simple para obtener el número de columna es:
Sub Sample() ColName = ActiveCell.Column MsgBox ColName End Sub
- 1. obtener el número de la columna en I le dio el nombre de la columna
- 2. nombre de la columna ambiguo
- 3. DataReader.GetString() a través del nombre de columna
- 4. Nombre de columna inválido en la actualización del servidor sql después de crear la columna
- 5. R número de caracteres columna
- 6. El nombre de columna no es válido. [Nombre del nodo (si lo hay) = t0, Nombre de la columna = versión]
- 7. nombre de la columna ambiguo de error
- 8. Hibernate nombre de la columna emite
- 9. MySQL - Cambiar el nombre de la columna
- 10. # 1060 - Duplicar nombre de la columna 'id'
- 11. Excel: calcule una columna solo
- 12. ¿Cómo ocultar una columna de Excel?
- 13. Columna Freeze Excel con C#
- 14. Excel: ordenar una columna basada en otra columna
- 15. Obtener el número de columna de td
- 16. ¿El nombre de la tabla o la longitud del nombre de la columna afectan el rendimiento?
- 17. Restricciones de nombre de la columna de la tabla Postgres?
- 18. Excel - ¿Cómo elimino los elementos en la columna 1 de la columna 2 y pongo los resultados en la columna 3?
- 19. Cómo importar datos de Excel a R usando el nombre de la columna y el nombre de la fila
- 20. Columna de prueba existe, Agregar columna y Columna de actualización
- 21. Columna No a la columna Carta en Excel/VSTO con C#
- 22. ¿Cómo recuperar el valor de la columna de resultado SQL usando el nombre de la columna en Python?
- 23. Seleccionar servidor SQL * Ordenar nombre de columna
- 24. Columna de número automático en la lista de SharePoint
- 25. Ajuste del comentario de la columna a la de otra columna en PostgreSQL
- 26. ¿Cuál es el algoritmo para convertir una letra de columna de Excel en su número?
- 27. LINQ a SQL tiene la columna de palabras clave como nombre de columna, como citar/escapar
- 28. Error de nombre de columna inválido en la cláusula WHERE, columna seleccionada con CASE
- 29. Oracle: nombre de columna dinámica en la instrucción de selección
- 30. Django administrador vista de lista Personalizar Nombre de la columna
tener un aspecto un esta pregunta: http://stackoverflow.com/q/22708/390819 Hay una solución de VBA allí también – GolfWolf
Columna nombre como en la letra o como en el encabezado? – Fionnuala
@wolf: Eso es lo contrario de lo que OP quiere :) –