Excel numéro de colonne du nom de colonne
Comment obtenir le numéro de colonne du nom de colonne dans Excel en utilisant la macro Excel?
5 réponses
je pense que tu veux ça?
nom de la colonne au numéro
Sub Sample()
ColName = "C"
Debug.Print Range(ColName & 1).Column
End Sub
Modifier : Aussi, y compris l'inverse de ce que vous voulez
numéro de la colonne au nom de la colonne
Sub Sample()
ColNo = 3
Debug.Print Split(Cells(, ColNo).Address, "$")(1)
End Sub
SUIVI
comme si j'avais zone de salaire au Très Haut permet de dire à la cellule C (1,1) maintenant si je modifie le dossier et déplacer la colonne de salaire à un autre endroit disent F (1,1) alors je vais devoir modifier le code ainsi je veux que le code pour vérifier le salaire et trouver le numéro de colonne et puis faire le reste des opérations selon ce numéro de colonne.
dans ce cas, je recommande d'utiliser .FIND
voir cet exemple ci-dessous
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
SNAPSHOT
pendant que vous étiez à la recherche d'une solution VBA, ce fut mon meilleur résultat sur google lors de la recherche d'une solution de formule, donc je vais ajouter ceci pour quiconque est venu ici pour cela comme je l'ai fait:
Excel formule pour retourner le numéro d'une colonne lettre (du commentaire DE @A. Klomp ci-dessus), où la cellule A1 contient votre colonne lettre(s):
=colonne (indirecte (A1& "1"))
comme le la fonction indirecte est volatile, elle recalcule chaque fois qu'une cellule est changée, donc si vous avez beaucoup de ceux-ci, il pourrait ralentir votre cahier d'exercices. Envisagez une autre solution, comme la fonction "code", qui vous donne le numéro D'un caractère ASCII, en commençant par " A " à 65. Notez que pour ce faire, vous devez vérifier combien de chiffres sont dans le nom de la colonne, et modifier le résultat en fonction de "A", "BB", ou "CCC".
Excel formule pour retourner la colonne lettre d'un numéro (de cette question précédente comment convertir un numéro de colonne (par ex. 127) dans une colonne excel (p. ex. AA) , répondu par @Ian), où A1 contient votre numéro de colonne:
= remplaçant(adresse 1, A1),4),"1","")
notez que ces deux méthodes fonctionnent indépendamment du nombre de lettres dans le nom de la colonne.
J'espère que ça aidera quelqu'un d'autre.
vous pouvez sauter tout cela et juste mettre vos données dans une table. Puis reportez-vous à la table et d'en-tête et il sera complètement dynamique. Je sais que ça date d'il y a 3 ans, mais quelqu'un pourrait trouver ça utile.
exemple de code:
Activesheet.Range("TableName[ColumnName]").Copy
vous pouvez également utiliser:
activesheet.listobjects("TableName[ColumnName]").Copy
Vous pouvez même utiliser ce système de référence dans les formules de calcul. Son très dynamique.
Espérons que cette aide!
écrire et exécuter le code suivant dans la fenêtre immédiate
?cells(,"type the column name here").column
par exemple ?cells(,"BYL").column
retournera 2014. Le code est insensible à la casse, donc vous pouvez écrire ?cells(,"byl").column
et la sortie sera toujours la même.
à mon avis, la façon la plus simple d'obtenir le numéro de colonne est:
Sub Sample()
ColName = ActiveCell.Column
MsgBox ColName
End Sub