У меня возникли проблемы с пониманием того, как работает HeaderRowRange.Посмотрим: согласно документации:
headersRowrange - это Range
, поэтому это должно работать:
Dim ftsTbl As ListObject
Set ftsTbl = ThisWorkbook.Sheets(1).ListObjects(1)
MsgBox ("ftsTbl.HeaderRowRangeD1:" & ftsTbl.HeaderRowRange("D1").Address)
но это не так.(неверный вызов процедуры или аргумент) Почему?и следующее не работает:
MsgBox ("ftsTbl.HeaderRowRangeD1:" & ftsTbl.HeaderRowRange("D1").item(1).Address)
Что мне действительно нужно сделать, так это получить следующий диапазон в этом списке объекта:
Мне нужен диапазонзаголовок списка объектов от столбцов D1 до D6.Я думал, что я мог бы использовать Range (cell1, cellX) следующим образом:
Dim ftsTbl As ListObject
Set ftsTbl = ThisWorkbook.Sheets(1).ListObjects(1)
Dim DocsHeadersRange As Range
'Set DocsHeadersRange = ThisWorkbook.Sheets(1).Range(ftsTbl.HeaderRowRange("D1"), ftsTbl.ListColumns("D6").DataBodyRange.iTem(ftsTbl.ListRows))
Но это не работает.Почему?
Я определяю несколько диапазонов в листе (1), чтобы использовать их в
Sub Worksheet_SelectionChange(ByVal Target As Range)
Set Overlap = Intersect(***defined range of listobject***, Selection)
If Not Overlap Is Nothing Then
If Overlap.Areas.Count = 1 And Selection.Count = Overlap.Count Then
...etc
Спасибо Cheers