Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2010, 21:34   #1
Cone
Форумчанин
 
Регистрация: 05.08.2010
Сообщений: 127
По умолчанию создание поиска

Уважаемые программисты, помогите дописать код поиска по значению,
В общем то все работает но когда искомое слов или число отсутствуют то вылетает баг, что нужно дописать и как чтобы при ненахождениии значения появлялся MsgBox ("искомые данные не найдены")



Sub Finderer()
'
Dim FD As Variant

FD = InputBox("ВВЕДИТЕ ИСКОМОЙ СЛОВО ИЛИ ЧИСЛО)

'
Columns("B:B").Select
Selection.Find(What:=FD, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
ActiveCell.Select

End Sub
Cone вне форума Ответить с цитированием
Старый 05.08.2010, 21:44   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub Finderer()
    FD = InputBox("ВВЕДИТЕ ИСКОМОЙ СЛОВО ИЛИ ЧИСЛО", "Мой поиск")
    If FD = "" Then Exit Sub    ' если пользователь нажал кнопку ОТМЕНА - отказ от поиска
    Dim cell As Range: Set cell = Range("B:B").Find(FD)    ' собственно поиск
    ' если ничего не нашли - выход из макроса
    If cell Is Nothing Then MsgBox "Искомые данные не найдены", vbExclamation: Exit Sub

    MsgBox "Значение """ & FD & """ найдено в ячейке " & cell.Address, vbInformation
    ' cell.Select
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 05.08.2010, 21:53   #3
Cone
Форумчанин
 
Регистрация: 05.08.2010
Сообщений: 127
По умолчанию

Все отлично работает, спасибо большое EducatedFool, еще одна просьба надо чтобы при нахождение эта ячейка выделялась, чтобы сразу было видно результат!
Cone вне форума Ответить с цитированием
Старый 05.08.2010, 21:59   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

замените

' cell.Select

на

cell.Select

(раскомментируйте последнюю строку, убрав одинарную кавычку в начале строки)
EducatedFool вне форума Ответить с цитированием
Старый 05.08.2010, 22:02   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

EducatedFool, однако...
серьезно подготовился к возможному вопросу)))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 05.08.2010, 22:05   #6
Cone
Форумчанин
 
Регистрация: 05.08.2010
Сообщений: 127
По умолчанию

Вот я тупой, я думал ActiveCell.Select надо, спасибо!
Cone вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
исходники поиска Domanoff БД в Delphi 1 06.06.2010 17:44
создание строки поиска PaWeLL Общие вопросы Delphi 3 29.04.2010 13:59
Создание сигнатуры функций для поиска их в памяти процесса Zlyden' Общие вопросы C/C++ 10 01.03.2010 21:27
Создание форм поиска и вывода информации opalko1 Microsoft Office Excel 7 26.02.2010 10:57
создание функции поиска Алёна Microsoft Office Excel 4 15.04.2009 11:26