powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / проблема с поиском в Экселе.
10 сообщений из 10, страница 1 из 1
проблема с поиском в Экселе.
    #32301719
kNell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

почему если использовать метод Find в процедуре все ок, а если в функции, то не работает ?
напр.

sub FindVal ()
Sheets(1).Cells(1,1).Value= Range("B:B").Find(What:="sText", LookIn :=xlValues).row
end sub

Function FindVal(ByVal sRng as Range, sText as string) as string
FindVal= CStr(sRng.Find(What:= sText, LookIn:= xlValues).Row)
end function

нужно найти адрес найденной ячейки
ВПР не предлагать.
Если кто-нибудь знает в чем закавыка - подскажите.
...
Рейтинг: 0 / 0
проблема с поиском в Экселе.
    #32302671
Sav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sav
Гость
Что не работает? В чем проблема? Какая ошибка?

Конструкция рабочая. Ошибка может быть если не найдет значение.

Так вот мне кажется надежнее будет.

Function FindVal(ByVal sRng as Range, sText as string) as string
Dim oFind As Object

Set oFind = sRng.Find(What:= sText, LookIn:= xlValues)

If oFind Is Nothing Then
FindVal = ""
Else
FindVal = CStr(oFind.Row)
End If

end function
...
Рейтинг: 0 / 0
проблема с поиском в Экселе.
    #32302807
kNell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проблема как раз в том, что если .Find оформлен внутри процедуры, то возвращается Range, а если в теле функции, то - Nothing.
вот над этим и бьюсь.
Искомое значение точно присутствует. =)
глюки эксель !??!?!
...
Рейтинг: 0 / 0
проблема с поиском в Экселе.
    #32302829
DionX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как свою функцию FindVal вызываешь? (как/какие параметры передаёшь)
...
Рейтинг: 0 / 0
проблема с поиском в Экселе.
    #32302848
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
функция действительно глюковатая
поиграйтесь с LookIn
а еще лучше запишите макрос и внимательно его проанализируйте
...
Рейтинг: 0 / 0
проблема с поиском в Экселе.
    #32302858
kNell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 DionX
просто ;)
вставка-функция ....
соотв-но задаю диапазон и текст ... =) вроде и так ясно

2 big-duke
а чем макрос отличается принципиально от процедуры ???
макрос работает, процедура работает, а функция - нет.
прямо беда.....
...
Рейтинг: 0 / 0
проблема с поиском в Экселе.
    #32302863
DionX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот и хотелось бы посматреть, как ты передаёшь диапазон и текст... дело в том, что у меня она работает.
...
Рейтинг: 0 / 0
проблема с поиском в Экселе.
    #32302887
kNell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 DionX
жму кнопку вставить функцию, далее жму на кнопку рядом с sRng и выделяю мышой диапазон, далее : или набираю текст вручную или выбираю ячейку с текстом (кот. 100% есть в этом диапазоне) и жму Ентер.
функция выдает #ЗНАЧ!.
вот так ....вообщем....
...
Рейтинг: 0 / 0
проблема с поиском в Экселе.
    #32302921
DionX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм... глюк какой-то странный... Я пробовал на ХР-офисе: всё работало, а в 2000 не работает. В 2000-ом работает только если вызывать енту функцию из макроса. Мдя...
...
Рейтинг: 0 / 0
проблема с поиском в Экселе.
    #32302953
kNell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 DionX
да вот глюки эти достали....
макрос - это хорошо....если вызывать функцию из макроса у меня тоже все работает...
но оч неудобно для 1000 позиций запускать макрос... =0
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / проблема с поиском в Экселе.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]