blackeangel |
10-05-2016 16:12 2633553 |
Поиск в выделенном (заданном) диапазоне
Всем привет. Вопрос простой.
Как вот это
Код:
Columns("B:B").Select
Selection.Find(What:=m1, After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
запихать в вот это
Код:
Set z = s.Worksheets(1).Cells.Find(What:=m1, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows)
Т.к. искать надо только в определенном столбце, а не по всем у листу.
Это делается для ускорения поиска.
Если есть, конечно, способ ускорить до мгновения ока, то буду только рад.
|
Так и «запихать»:
Код:
s.Worksheets(1).Columns("B:B").Find(What:=m1, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows)
Цитата:
Цитата blackeangel
Это делается для ускорения поиска.
Если есть, конечно, способ ускорить до мгновения ока, то буду только рад. »
|
Искать не во всём столбце, а только в его значимой части. Например, используя его пересечение с заполненной частью Рабочего листа:
Код:
With s.Worksheets(1)
Set z = Intersect(.Columns("B:B"), .UsedRange).Find(What:=m1, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows)
End With
|
Время: 08:30.
© OSzone.net 2001-