Страницы: 1
RSS
VBA номер столбца по названию в именованной таблице
 
Есть таблица в эксель например "Таблица1"  :)  
B2   C2 D2   E2    F2
Имя; Фамилия; Телефон; размер груди; наличие мозга

как в VBA узнать номер столбца по его названию (телефон) ?
что-то типа этого есть?
Код
Range("Таблица1") .Columns("Телефон") .column
 
Код
Sub Telephon()
Dim Stolb As Integer
    Stolb = Rows(2).Find("Телефон", , xlValues, xlWhole).Column
End Sub
 
 
Кузьмич Спасибо!

а еще вариант естьтипа такого?
а= Range("Таблица1" ) .Cells(1,"Телефон" )
 
Код
Sub Макрос()
For i = 2 To 6
If Cells(2, i).Value = "Телефон" Then a = Cells(2, i).Column
Next
End Sub
Удивление есть начало познания © Surprise me!
И да пребудет с нами сила ВПР.
 
Cells(1,"Телефон" )    Что это за ячейка?
 
скорее всего я очень плохо объясняю.
Полная задача в том, чтобы из экселя именованной таблицы, передать данные на SQL.
ну тупо пошли перебор таблицы по строкам.
Код
For i = 2 To Sheet1.Range("TAble_Table").Rows.Count
objRecordset.Fields("Phone") = Sheet1.Range("TAble_Table").Cells(i, "Telephone").Value
поэтому хотел просто в номер столбца заталкать что-то, что автоматом определяет его номер.
потому что, пользователь может поменять местами столбцы.

Думаю просто на отдельном "скрытом" листе определю их и оттуда буду брать номера.
Изменено: Zhennya2030 - 12.08.2014 10:51:42
 
забыл сказать!
Спасибо большое за помощь Kuzmich, Ёк-Мок !!!!
 
Доброе время суток
Если вы используете "умную" таблицу, то можно и таким образом
Код
    Dim pLO As ListObject, iRow As Long
    Set pLO = ActiveSheet.ListObjects(1)
    For iRow = 1 To pLO.ListRows.Count
        objRecordset("Phone").Value = pLO.ListColumns("Telephone").DataBodyRange(iRow).Value
    Next
 
Успехов.
 
Андрей VG, Спасибо большое!
Страницы: 1
Читают тему
Наверх