powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Метод Finde
10 сообщений из 10, страница 1 из 1
Метод Finde
    #34445173
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раньше не задумывался, а теперь столкнулся
Метод Finde, как я понял не берёт первую ячейку в просматриваемом диапазоне, т.е. если искомое значение в 1-й ячейке диапазона, он его не найдёт.
Опять же как я понял у него есть параметр After, который по умолчанию левая верхняя ячейка диапазона. Тогда получается что, он ищет обязательно после какой-то ячейки.

Вопрос: Правильно ли я всё понял?
и можно ли как то заставить его смотреть первую ячейку?
...
Рейтинг: 0 / 0
Метод Finde
    #34445470
Фотография Дадахан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadРаньше не задумывался, а теперь столкнулся
Метод Finde, как я понял не берёт первую ячейку в просматриваемом диапазоне, т.е. если искомое значение в 1-й ячейке диапазона, он его не найдёт.
Опять же как я понял у него есть параметр After, который по умолчанию левая верхняя ячейка диапазона. Тогда получается что, он ищет обязательно после какой-то ячейки.

Вопрос: Правильно ли я всё понял?
и можно ли как то заставить его смотреть первую ячейку?
Нет такого метода!
...
Рейтинг: 0 / 0
Метод Finde
    #34445820
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДадаханНет такого метода!
упс
читать Метод Find
...
Рейтинг: 0 / 0
Метод Finde
    #34447061
12345678
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если искать заранее заданное значение (пусть это будет 12345)- то если, к примеру искомое нах-ся в B1,
то
Код: plaintext
Set Result = Range("B1:B400").Find("12345") 
все прекрасно находит.
Если значение берется из того же столбца, то
Код: plaintext
Set Result = Range("B1:B400").Find(B4.Value) 
(допустим B4.Value = 12345) найдет B4, чтобы найти дальше B1, нужно либо искать через FindNext -
Код: plaintext
Set Result = Range("B1:B400").FindNext(Result) 
либо, если допускает задача - задать район поиска через -
Код: plaintext
Set Result = Range("A1:B400").Find(B4.Value)
.
...
Рейтинг: 0 / 0
Метод Finde
    #34447091
12345678
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс, опечатка
B4.Value следует читать так: Range("B4").Value
...
Рейтинг: 0 / 0
Метод Finde
    #34447232
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
12345678Если искать заранее заданное значение (пусть это будет 12345)- то если, к примеру искомое нах-ся в B1,
то
Код: plaintext
Set Result = Range("B1:B400").Find("12345") 
все прекрасно находит.


Если таких значений в диапазоне несколько, то найдётся второе (если первое стоит в первой ячейке). Спасибо, на нужную мысль натолкнул.
Вот оно в чём дело, оказуется Find если не задавать параметр After, начинает искать со второй ячейке в диапазоне и заканчивает первой.
Получается чтобы начать смотреть с первой ячейки нужно начать после последней.
Код: plaintext
Set Result = Range("B1:B400").Find("12345", After:=range("B400")) 
Я просто до этого думал, что если задать параметр After, то Find будет смотреть только после указанной ячейки, я не знал что он потом и начало просматривает.




12345678
Если значение берется из того же столбца, то
Код: plaintext
Set Result = Range("B1:B400").Find(B4.Value) 
(допустим B4.Value = 12345) найдет B4, чтобы найти дальше B1, нужно либо искать через FindNext -
Код: plaintext
Set Result = Range("B1:B400").FindNext(Result) 
либо, если допускает задача - задать район поиска через -
Код: plaintext
Set Result = Range("A1:B400").Find(B4.Value)
.

Опять же лучше использовать параметр After
Код: plaintext
Set Result = Range("B1:B400").Find("12345", After:=range("B4")) 
...
Рейтинг: 0 / 0
Метод Finde
    #34447773
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И также параметер LookAt

LookAt:=xlWhole
LookAt:=xlPart
...
Рейтинг: 0 / 0
Метод Finde
    #34447833
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladConnИ также параметер LookAt

LookAt:=xlWhole
LookAt:=xlPart

Всмысле? Может что-то важное, а я не понял о чём речь, нельзя уточнить что имеется ввиду!
Что за параметр я знаю просто, сдесь он упомянут не спроста наверное?
...
Рейтинг: 0 / 0
Метод Finde
    #34447906
Фотография Дадахан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deggasad VladConnИ также параметер LookAt

LookAt:=xlWhole
LookAt:=xlPart

Всмысле? Может что-то важное, а я не понял о чём речь, нельзя уточнить что имеется ввиду!
Что за параметр я знаю просто, сдесь он упомянут не спроста наверное?
RTFM
...
Рейтинг: 0 / 0
Метод Finde
    #34448067
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хоть убейте, не пойму!

Причём тут

LookAt:=xlWhole
LookAt:=xlPart
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Метод Finde
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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