![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 12.01.2009
Сообщений: 2
|
![]()
Здравствуйте.Подскажите, пожалуйста,
есть вот такой макрос: Sub ПОИСК() Dim x As Range, a As String a = ActiveCell.Value Set x = [A:A].Find(a, LookAt:=xlWhole) If Not x Is Nothing And x.Next > 0 Then x.Next.Select End Sub В столбце "А" наименования повторяются. Мне нужно чтобы если x.Next=0 строка пропускалась и поиск велся дальше пока не будет найдено положительное значение. И еще один вопрос: Почему в этом макросе игнорируется ячейка "А1" |
![]() |
![]() |
![]() |
#2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
.Next - бежит вправо от исходной ячейки (по крайней мере так пишет документация). поэтому не представляю, как удавалось двигаться вниз по столбцу А, используя .Next.
начиная с If Not x Is Nothing And x.Next > 0 Then x.Next.Select замените на: If Not x Is Nothing Then x.select Do Selection.Offset(1).Select Loop Until Selection <> 0 end if
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Если я правильно понял, то требуется выделить первую попавшуюся ячейку, которая удовлетворяет условиям поиска.
С использованием метода Find (FindNext), можно так: Код:
Можно рассмотреть еще один, альтернативный вариант. В следующем макросе формируется диапазон ячеек 1-го столбца, удовлетворяющий критерию поиска (без цикла). Затем, в цикле просматриваются соседние ячейки только этого диапазона. Такой способ свободен от вышеуказанной проблемы. Код:
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
#4 |
Новичок
Джуниор
Регистрация: 12.01.2009
Сообщений: 2
|
![]()
Спасибо SAS888. Все работает превосходно.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск ячейки | PIKA4Y | Microsoft Office Excel | 2 | 29.01.2010 16:50 |
Поиск диапазоне по формату ячейки | Meta2 | Microsoft Office Excel | 2 | 11.11.2009 13:57 |
поиск с выделением | photozaz | Компоненты Delphi | 1 | 22.05.2008 15:46 |
поиск строки и ячейки | Lacky | Microsoft Office Excel | 11 | 27.11.2007 10:56 |