Добрый вечер!
Уважаемые знатоки VBA направьте на путь истинный. Задача вроде простая найти все совпадения по дате в умной таблице, затем найденные значения занести в другую умную таблицу и если дата измениться, то что бы при обновлении данных таблица сначала очищалась, а затем уже добавлялись новые данные.
Вроде написал, но на начале цикла макрос спытыкается и что то мне кажется я как то не так это делаю, вроде понимаю что надо скорее всего через Find но туплю по страшному.
Спасибо за любую наводку))
Уважаемые знатоки VBA направьте на путь истинный. Задача вроде простая найти все совпадения по дате в умной таблице, затем найденные значения занести в другую умную таблицу и если дата измениться, то что бы при обновлении данных таблица сначала очищалась, а затем уже добавлялись новые данные.
Вроде написал, но на начале цикла макрос спытыкается и что то мне кажется я как то не так это делаю, вроде понимаю что надо скорее всего через Find но туплю по страшному.
Спасибо за любую наводку))
Код |
---|
Option Explicit Dim ShList1 As Worksheet Dim List1Obj As ListObject Dim List1ListRow As ListRow Dim ShList2 As Worksheet Dim List1Obj2 As ListObject Dim List1ListRow2 As ListRow Sub Найти_строку_по_дате() Dim Cell As Range Set ShList1 = ThisWorkbook.Worksheets("Лист1") Set List1Obj = ShList1.ListObjects("Таблица1") Set ShList2 = ThisWorkbook.Worksheets("Лист2") Set List1Obj2 = ShList2.ListObjects("Таблица2") Set Cell = List1Obj2.ListColumns.Item(4).Range.Find(ThisWorkbook.Worksheets("Лист1").Cells(1, 5), LookAt:=xlWhole) If Not Cell Is Nothing Then List1Obj.Range.Clear For Each Cell In List1Obj2.ListRows Set List1ListRow = List1Obj.ListRows.Add List1ListRow.Range(1) = Cell.Cells(1, -3) List1ListRow.Range(2) = Cell.Cells(1, -2) List1ListRow.Range(3) = Cell.Cells(1, -1) Next Cell End If End Sub |