Страницы: 1
RSS
Определить Range таблицы, расположенной между двумя другими.
 
Здравствуйте. Помогите пожалуйста с решением следующего вопроса средствами VBA. На листе имеется три таблицы, как определить начало и конец второй таблицы, расположенной между первой и третьей. Колонки известны, необходимо определить первую и последнюю строки. End(xlUp).Row, естественно, выдает последнюю ячейку самой нижней таблицы. Надеюсь, пример поможет понять что требуется. Заранее спасибо.
 
Между таблицами всегда строка одна?
Кому решение нужно - тот пример и рисует.
 
Нет, не всегда. Постоянными можно считать заголовки всех таблиц.
Изменено: VSerg - 01.03.2017 23:16:37
 
Код
    MsgBox ([a:c].Find("Table 2", , xlFormulas, 2).CurrentRegion.Address)
Я сам - дурнее всякого примера! ...
 
Код
Sub TableRange()
Dim Cl As Range
    Set Cl = Worksheets("Sheet1").Columns("A:C").Find("Table 2", LookIn:=xlValues)
    MsgBox Cl.CurrentRegion.Address
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Цитата
определить первую и последнюю строки
Код
Sub Table()
Dim FRow As Long
Dim ERow As Long
  FRow = Columns("A:C").Find("Table 2", , xlValues, xlWhole).Row
  ERow = Range("A" & FRow).End(xlDown).Row
End Sub
 
Огромное спасибо, оба решения работают прекрасно. Если не затруднит, не могли бы вы объяснить, как это работает ? Начало диапазона я понимаю, ищется по имени. Но как определяется его правый нижний угол ?
 
CurrentRegion -> press F1
Согласие есть продукт при полном непротивлении сторон
 
Еще раз позвольте поблагодарить всех ответивших. Спасибо вам, решено.
 
Здравствуйте еще раз. Подскажите пожалуйста, как можно скопировать ячейки, определенные с помощью CurrentRegion.Address ?
Если использовать решение от Kuzmich, то делаю так:
Код
Set rng = Worksheets("Report").Range("A" & FRow & ":I" & ERow)
rng3.Copy
но на попытку
Код
Set Cl = Worksheets("Sheet1").Columns("A:C").Find("Table 2", LookIn:=xlValues)
Cl.CurrentRegion.Address.Copy
Excel выдает ошибку. Информация в MSDN по CurrentRegion достаточно скудная, нашел свойство Select, но с ним тоже не работает.
Заранее спасибо.
 
Код
Cl.CurrentRegion.Copy
Согласие есть продукт при полном непротивлении сторон
 
Sanja, большое спасибо.
Страницы: 1
Наверх