Страницы: 1
RSS
Функция поиска номера столбца умной таблицы
 
Подскажите как написать функцию поиска номера столбца по названию заголовка?
Мои попытки... не уверен что правильно))
Код
Function НомерСтолбца(Столбец)
НомерСтрокиЗаголовка = Sheets("БазаАктов").ListObjects("Таблица1").HeaderRowRange.row
КоличествоСтолбцов = Sheets("БазаАктов").ListObjects("Таблица1").Columns.Count
    For i = 1 To КоличествоСтолбцов
        If Cells(НомерСтрокиЗаголовка, i).Value = Столбец Then a = Cells(НомерСтрокиЗаголовка, i).Column
    Next
End Function

Мне нужна эта функция чтобы потом в коде обращаться к номеру столбца по имени, типа так..
Код
Cells(номер строки, НомерСтолбца("Какой-то столбец"))
Изменено: narod svs - 28.07.2022 09:55:47
 
narod svs, Покажите пример
 
Msi2102, смысл такой, у меня есть код в котором я ссылаюсь на столбцы по номеру. Но после тог как добавляя в таблице где-нибудь столбец мне приходится править код... Вот и хочу функцию, чтобы в коде с ее помощью находить номер столбца по названию...
 
Цитата
написал:
КоличествоСтолбцов = Sheets("БазаАктов").ListObjects("Таблица1").Columns.Count
а как найти количество столбцов умной таблицы? так не хочет...
 
Цитата
narod svs: найти количество столбцов умной таблицы?
.ListObjects("Таблица1").ListColumns.Count
The VBA Guide To ListObject Excel Tables
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Код
Cells(номер строки, НомерСтолбца(Sheets("БазаАктов").ListObjects("Таблица1").ListColumns("Какой-то столбец").Column)
 
Цитата
написал:
.ListObjects("Таблица1").ListColumns.Count
спасибо, искал но не нашел))
 
Вы предлагаете нам рисовать таблицы, это кому больше надо?
Код
' количество столбцов
Количество_столбцов = Sheets("Лист1").ListObjects("Таблица1").HeaderRowRange.Count
' или так
Количество_столбцов1 = Sheets("Лист1").ListObjects("Таблица1").DataBodyRange.Columns.Count
' или так
Количество_столбцов2 = Sheets("Лист1").ListObjects("Таблица1").Range.Columns.Count
' так можете выделить нужный столбец по имени
Sheets("Лист1").ListObjects("Таблица1").ListColumns("ИМЯ").Range.Select
' так можете обратиться к ячейке в столбце с нужным именем
Ячейка = Sheets("Лист1").ListObjects("Таблица1").ListColumns("ИМЯ").Range(3) '.Count '.Select
Изменено: Msi2102 - 28.07.2022 10:29:25
 
Msi2102, спасибо
 
Цитата
написал:
Ячейка = Sheets("Лист1").ListObjects("Таблица1").ListColumns("ИМЯ").Range(3)
вот то что надо, большое спасибо
 
Цитата
написал:
Sheets("Лист1").ListObjects("Таблица1").ListColumns("ИМЯ").Range(3)
можно проще/
Получить номер столбца:
Код
range("Таблица1[Столбец3]").Column
обратиться к конкретной ячейке столбца по индексу(в примере это третья строка):
Код
range("Таблица1[Столбец3]").Cells(3).Value
Изменено: Дмитрий(The_Prist) Щербаков - 28.07.2022 11:36:35
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
написал:
range("Таблица1[Столбец3]").Cells(3).Value
:) спасибо
Страницы: 1
Наверх