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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2017, 00:43   #1
clever2017
Новичок
Джуниор
 
Регистрация: 08.04.2017
Сообщений: 1
По умолчанию Проблема с поиском макросом не работает если ищу дату

Здравствуйте!
Числа ищет остальное нет
Работает:
1) Cells.Find(What:="10", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate


А вот так нет
2) Cells.Find(What:="14.02.2017", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate

Подозреваю что ищет только числовые значения
Но вот что странно получил данный код через запись макроса и сам excel успешно находит все что угодно и текст и даты и числа, а макрос выдает ошибку

Второй вопрос - в Excel есть разделение искать во всей книге или на листе, но при записи макроса отличий нет. Excel 2016


Ранее был 2010 excel и код ниже прекрасно работал:
Sub Find()
Cells.Find(What:="текст", After:=Range("A1"), LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
End Sub

Пробовал сейчас не принимает...
Выдает ошибку 91
Суть задачи которую пытаюсь решить:
Из выбранной книги excel вытащить данные и разместить в новой книге.
1. Выбор каталога и файла - решено
2.создание и сохранение новой - решено
3.Открываю выбранный файл в п1 и пытаюсь там найти необходимые данные - тут и возникает проблема....

Поиск нужен ,т.к данные не всегда расположены корректно

Пробовал
Workbooks.Open sFiles
' Поиск по книге
With ActiveWorkbook либо Workbooks(name)
.Cells.Find(What:="14.02.2017", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate

End With
Может кто знает как это исправить?

Пробовал
Application.FindFormat.NumberFormat = "m/d/yyyy"
Cells.Find(What:="14.02.2007", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=True).Activate
тоже не работает


Все таки google и упорство дали результат:

Cells.Find(What:=CDate("14.02.2007" ), After:=Range("A1"), LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate

Т.е надо искать не саму дату 14.02.2007 а его преобразованный аналог через CDate

Последний раз редактировалось clever2017; 08.04.2017 в 11:51. Причина: Нашел решение
clever2017 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу удобного диалога с поиском данных с помощью процедур и функций, если файл имеет вид таблицы. KNCORP Паскаль, Turbo Pascal, PascalABC.NET 1 06.04.2016 01:46
Скрипт не работает, если линкую локально, а работает если линкую на .. keen_ JavaScript, Ajax 3 08.03.2012 07:58
Проблема с поиском в БД Evgenii БД в Delphi 15 25.06.2009 00:14
Деревья со случайным поиском! Не работает прога Valeri Общие вопросы C/C++ 7 17.05.2009 12:40
Проблема с поиском Zeraim Microsoft Office Access 2 04.06.2008 05:42