Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Не осуществляется цикл поиска - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Не осуществляется цикл поиска (Макросы/Sub)
Не осуществляется цикл поиска
Nemo Дата: Вторник, 24.02.2015, 18:46 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Здравствуйте! Надо было осуществить поиск ячеек по нескольким значениям и копировать строки с этими ячейками на другой лист. Но находится только первое значение. Дальше показывает "Run-time error '91'". Подскажите, пожалуйста, в чем ошибка или, если можно, как осуществить поиск по-другому.

[vba]
Код
Dim p(1 To 3) As String
p(1) = "текст1"
p(2) = "текст3"
p(3) = "текст5"
For i = 1 To 3
Cells.Find(What:=p(i), After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
Rows(ActiveCell.Row).Copy
Sheets("Лист2").Select
Range("$A$" & i).Select
ActiveSheet.Paste
Next i
[/vba]


Сообщение отредактировал Pelena - Вторник, 24.02.2015, 19:24
 
Ответить
СообщениеЗдравствуйте! Надо было осуществить поиск ячеек по нескольким значениям и копировать строки с этими ячейками на другой лист. Но находится только первое значение. Дальше показывает "Run-time error '91'". Подскажите, пожалуйста, в чем ошибка или, если можно, как осуществить поиск по-другому.

[vba]
Код
Dim p(1 To 3) As String
p(1) = "текст1"
p(2) = "текст3"
p(3) = "текст5"
For i = 1 To 3
Cells.Find(What:=p(i), After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
Rows(ActiveCell.Row).Copy
Sheets("Лист2").Select
Range("$A$" & i).Select
ActiveSheet.Paste
Next i
[/vba]

Автор - Nemo
Дата добавления - 24.02.2015 в 18:46
Leanna Дата: Вторник, 24.02.2015, 18:54 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
Не находит. Потому что Лист2 выделен а вам поиск надо производить на Лист1. После Paste выделяйте Лист1 обратно
[vba]
Код
Sub test()
Dim p(1 To 3) As String
p(1) = "текст1"
p(2) = "текст3"
p(3) = "текст5"
For i = 1 To 3
Cells.Find(What:=p(i), After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
Rows(ActiveCell.Row).Copy
Sheets("Лист2").Select
Range("$A$" & i).Select
ActiveSheet.Paste
Sheets("Лист1").Select
Next i
End Sub
[/vba]


Лучше день потерять, потом за пять минут долететь!

Сообщение отредактировал Leanna - Вторник, 24.02.2015, 18:57
 
Ответить
СообщениеНе находит. Потому что Лист2 выделен а вам поиск надо производить на Лист1. После Paste выделяйте Лист1 обратно
[vba]
Код
Sub test()
Dim p(1 To 3) As String
p(1) = "текст1"
p(2) = "текст3"
p(3) = "текст5"
For i = 1 To 3
Cells.Find(What:=p(i), After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
Rows(ActiveCell.Row).Copy
Sheets("Лист2").Select
Range("$A$" & i).Select
ActiveSheet.Paste
Sheets("Лист1").Select
Next i
End Sub
[/vba]

Автор - Leanna
Дата добавления - 24.02.2015 в 18:54
Nemo Дата: Вторник, 24.02.2015, 18:58 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Ой, как все просто оказалось! Leanna, спасибо вам большое!
 
Ответить
СообщениеОй, как все просто оказалось! Leanna, спасибо вам большое!

Автор - Nemo
Дата добавления - 24.02.2015 в 18:58
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Не осуществляется цикл поиска (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!