Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Поиск с отдельным выводом результатов
 
Добрый день!
Прошу вашей помощи.
Имеется такой код:
Код
Sub sea()
          Dim strStartAddr As String
         Dim rgResult As Range
         Set rgResult = Range("D:D").Find("Липицы")
          If Not rgResult Is Nothing Then
              strStartAddr = rgResult.Address
              Do While Not rgResult Is Nothing
                      With Sheets(2)
                               rgResult.Copy .Cells(.Rows.Count, 1).End(xlUp).Offset(1)
            End With
                       Set rgResult = Range("D:D").FindNext(rgResult)
                          If rgResult.Address = strStartAddr Then
                Exit Do
            End If
        Loop
    End If
      
End Sub
Суть такая: имеется громадная таблица на 800 тысяч строк и 17 столбцов, из этой таблицы необходимо выбрать строки по заданному условию (в данном коде это "Липицы", которое берется из столбца D) и переместить их для удобства на другой лист.
В связи с этим хочу попросить помощи у гуру VBA (т.к. я в этом пока что очень плохо разбираюсь) по некоторым вопросам модификации:
1) код работает, но на лист с результатами выводит только содержимое ячейки из столбца D, а остальную часть строки оставляет нетронутым. Возможно ли вывести целую строку?
2) возможно ли "прикрутить" второе, третье и т.д. условия для поиска? (т.е. Липицы, Москва, казань и т.д.)? Попытка добавить с помощью or окончилась неудачей;
3) как можно прикрутить очистку листа с результатами перед при новом запросе?
Заранее благодарю.
Страницы: 1
Читают тему (гостей: 1)
Наверх