Номер столбца Excel из имени столбца


Как получить номер столбца из имени столбца в Excel с помощью макроса Excel?

5 55

5 ответов:

Я думаю, что вы хотите этого?

имя столбца к номеру столбца

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

Edit: также включая обратное того, что вы хотите

количество столбцов имя

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

СЛЕДИТЬ

например, если у меня есть поле зарплаты в самом верху, скажем, в ячейке C (1,1) теперь, если я изменю файл и перенесу столбец зарплаты в другое место скажем, F (1,1), тогда мне придется изменить код, поэтому я хочу, чтобы код проверял зарплату и находил номер столбца, а затем выполнял остальные операции в соответствии с этим номером столбца.

в таком случае я бы рекомендовал использовать .FIND смотри пример ниже

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

снимок

enter image description here

пока вы искали решение VBA, это был мой лучший результат в google при поиске решения формулы, поэтому я добавлю это для всех, кто пришел сюда для этого, как я сделал:

Формула Excel для возврата номер из колонки буква (из комментария @A. Klomp выше), где ячейка A1 содержит букву(Ы) столбца:

=столбец(косвенный (A1& "1"))

поскольку косвенная функция изменчива, она пересчитывается всякий раз, когда ячейка изменяется, поэтому, если у вас их много, это может замедлить работу вашей книги. Рассмотрим другое решение, такое как функция "код", которая дает вам число для символа ASCII, начиная с " A " в 65. Обратите внимание, что для этого вам нужно будет проверить, сколько цифр находится в имени столбца, и изменить результат в зависимости от "A", " BB " или "CCC".

Формула Excel для возврата колонка буква из числа (из этого предыдущего вопроса как конвертировать a номер столбца (например. 127) в столбец excel (например. АА), ответил @Ian), где A1 содержит номер вашего столбца:

=замена (адрес(1, A1,4),"1","")

обратите внимание, что оба эти метода работают независимо от того, сколько букв в имени столбца.

надеюсь, это поможет кому-то еще.

вы можете пропустить все это и просто поместить свои данные в таблицу. Затем обратитесь к таблице и заголовку, и он будет полностью динамическим. Я знаю, что это от 3-х лет назад, но кто-то еще может найти это полезным.

пример кода:

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

вы также можете использовать :

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

вы даже можете использовать эту справочную систему в формулах рабочего листа. Это очень динамично.

надеюсь, что это помогает!

написать и запустить следующий код в окне немедленного

?cells(,"type the column name here").column
?cells(,"BYL").column вернется 2014. Код не учитывает регистр, поэтому вы можете написать ?cells(,"byl").column и выход все равно будет таким же.

на мой взгляд, самый простой способ получить номер столбца:
Sub Sample() ColName = ActiveCell.Column MsgBox ColName End Sub