|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.04.2017, 00:43 | #1 |
Новичок
Джуниор
Регистрация: 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. Причина: Нашел решение |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Написать программу удобного диалога с поиском данных с помощью процедур и функций, если файл имеет вид таблицы. | 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 |