Добрый день! может сможете подсказать как лучше это можно реализовать ? Есть лист в таблице - в ней ежедневно обновляются данные со статичными заголовками. один из столбцов цифровой. и есть значения к примеру = 9999. Можно ли настроить фильтры так что все данные с этого листа со значением цифрового столбца копируются в другой лист ?
По факту сейчас приходится делать дополнительные действия: в листе делать фильтр по столбцу желаемого и по цифровому значению. далее выделять видимую область, ее копировать и вставлять. и уже с ней работать.
Sub КопированиеСфильтром()
If ActiveWorkbook.Sheets.Count = 1 Then
MsgBox "Должно быть не менее двух листов.", vbExclamation
Exit Sub
End If
Dim y As Long
Dim u As Long
Dim x As Integer
Dim a As Variant
Dim b As Variant
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = ActiveSheet 'Лист откуда копируем
Set sh2 = Sheets(2) 'Лист куда копируем
With sh1.UsedRange
x = .Column + .Columns.Count - 1
y = .Row + .Rows.Count - 1
If y = 1 Then y = 2
a = .Range(.Cells(1, 1), .Cells(y, x))
End With
ReDim b(1 To UBound(a, 1), 1 To UBound(a, 2))
For y = 1 To UBound(a, 1)
If a(y, 1) = "Иванов" Then 'Это то, что вы назвали "делать фильтр по столбцу желаемого"
If a(y, 3) = 1 Then '"...по цифровому значению."
If Not sh1.Rows(y).Hidden Then
u = u + 1
For x = 1 To UBound(a, 2)
b(u, x) = a(y, x)
Next
End If
End If
End If
Next
If u > 0 Then
With sh2
y = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(y, 1).Resize(u, UBound(b, 2)) = b
End With
MsgBox "Скопировано " & u & " строк.", vbInformation
End If
End Sub
Спасибо всем что направили в нужном направлении (в сторону макросов). Обнаружил для себя очень хорошую вещь как запись макросов. сделал 3 листа, 1 лист с обновляемыми данными, 1 лист обработанный и 1 лист = результат. Записал макрос где делаю фильтрацию по своим данным и копирую в лист обработанный откуда уже данные конвертируются с помощью формул в результат
Там уже следующий этап обработки идет - в таблице есть время в unix формате - которое конвертируется в обычное время (формулами это проще делается) с привязкой к моему часовому поясу и отображение конечного результата идет.