Добрый день!
Существует отчет с большим количеством таблиц, значения в которызх расчитаны формулой СЧЁТЕСЛИМН.
Задача: перенос на отдельный лист данных по которым расчитывается формула при нажатии на цифру в таблице.
Предполагаемое решение: написание макроса, который будет переносить строки на контректные листы по двум и более условиям (аналог формулы СЧЁТЕСЛИМН), при срабатывании гиперссылки, на конкретном значении.
Проблема: все решения на форуме заточены на одно условие, а не несколько.
Возможно ли под мою задачу как-то адаптировать, готовое решение с форума?
Существует отчет с большим количеством таблиц, значения в которызх расчитаны формулой СЧЁТЕСЛИМН.
Задача: перенос на отдельный лист данных по которым расчитывается формула при нажатии на цифру в таблице.
Предполагаемое решение: написание макроса, который будет переносить строки на контректные листы по двум и более условиям (аналог формулы СЧЁТЕСЛИМН), при срабатывании гиперссылки, на конкретном значении.
Проблема: все решения на форуме заточены на одно условие, а не несколько.
Возможно ли под мою задачу как-то адаптировать, готовое решение с форума?
Код |
---|
Sub Yana_Zhilak() 'http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=174 Dim LastRow As Long, Rw As Long 'Объявили переменный послдедних строк для двух слистов LastRow = Cells(Rows.Count, 1).End(xlUp).Row 'Нашли номер последней строки на активном листе (там, где кнопка) With Sheets("Лист2") 'Применительно к Лист2 Rw = .Cells(Rows.Count, 1).End(xlUp).Row + 1 'Нашли номер первой свободной строки на этом листе For i = 4 To LastRow 'Цикл со строки № 4 по последнюю заполненную (на активном листе) If Cells(i, 6) = "a" Then 'Если ячейка столбца 6 текущей строки = "а", то Range(Cells(i, 1), Cells(i, 5)).Copy .Cells(Rw, 1) 'Дипазон (текущая строка, столбцы 1:5) копируем в первую свободную ячейку второго листа Rw = Rw + 1 'Увеличивем переменную-счётчик первой свободной строки второго листа End If Next End With End Sub |