Я пытаюсь подтянуть прилагаемую таблицу Excel с помощью vba (к сожалению, прилагается). Лист имеет фиксированное значение в ячейке D161, установленное в 45, совпадение индекса использует это значение для возврата сводки значений в критических столбцах. Я подключил пару модулей с модулем листа, который выполняет поиск и находит и активную ячейку на основе входного значения D161. Я видел пару примеров и стал более запутанным, чем обычно Моей работой потока:Активная ячейка, динамический ввод с использованием Index Match в VBA
выбрать и значение активной ячейки, основываясь на значении D161 в
Используйте это значение ячейки в качестве активного клеточная
Выберите критические столбцы (выделено синим л) на основе этой активной ячейки (с использованием смещения) Есть 5 колонок, распространяемые через массив значений
Выберите столбцы и представить их в виде сводной таблицы, как показано в массива D161: K167
Я нашел тему, которая похожа, однако я умеренно озадачен его за пределами моего опыта Vba
Excel/VBA - Index Match function using Dynamic Ranges
Мой код
Sub FindThisValue()
Dim varLookFor As Variant
Dim GBAnchorageRng As Range
Dim GBLapRng As Range
Dim OCAnchorageRng As Range
Dim OCLapRng As Range
varLookFor = Range("D161").Value
'Good bond cell ranges or columns
Set GBAnchorageRng = Range(ActiveCell, ActiveCell.Offset(6, 15))
Set GBAnchorageRng = Range(ActiveCell, ActiveCell.Offset(6, 15))
'Othercases (formly known as poor do not use this description bond) cell range or columns
Set OCAnchorageRng = Range(ActiveCell, ActiveCell.Offset(6, 26))
Set OCAnchorageRng = Range(ActiveCell, ActiveCell.Offset(6, 28))
On Error GoTo Handler:
'ActiveWorkbook.ActiveSheet.
Range("B93:B148").Find(What:=varLookFor, LookAt:=x1Whole = 1).Activate
'Specify range
'Range(ActiveCell.Offset(6, 0), ActiveCell.Offset(0, 31)).Select
Exit Sub
Handler:
MsgBox ("Value not found")
End Sub
е становится активной ячейки, получил его '.Resize (6) .Value' помогли показать путь в массиве' Resize (7) .Value' захватили все необходимых данных. Утончен и имеет смысл. –
, чтобы указать, что мой код не полагается на должным образом называемый 'ActiveCell', пока он _reference_' Range' объектов. Что намного безопаснее! – user3598756