Товарищи, не могу нечего придумать как проверить дата ли в ячейке. Дело в том, что после работы макроса (если нажать разбор в приложенном файле) в трех столбцах:Q, AI, AK формируется дата, однако формат ячейки остается "Общий". Только после вставки в ячейку курсора она автоматически переводится в формат "Дата". В связи с этим не как не могу подобрать способ как проверить дата ли в ячейке. Мне в принципе без разницы в каком формате останется ячейка, главное, чтоб в указанных столбцах действительно стояла дата в формате дд.мм.гггг
проверка ячейки на правильное отражение даты
23.09.2022 06:00:40
|
|
|
|
23.09.2022 06:49:17
Сергей020487,
а для чего Вам именно формат даты, ведь отображается все верно? как вариант, можно сразу сделать формат данных столбцов изначально или в макросе. |
|
|
|
23.09.2022 07:25:00
на вновь созданном листе все работает правильно
как вариант перенести данные на новый лист на этом, возможно, изменено какое-то свойство. не нашел какое |
|
|
|
23.09.2022 07:45:33
evgeniygeo, по хрен на формат в итоге, главное чтоб вместо даты не затисалось чтото инное. Я сразу подумал о том, чтоб в макросе изменить в отношении этих столбцов формат на дату по умолчанию. Но подумал, что может быть у вас будут какие то другие идеи.
|
|
|
|
23.09.2022 07:47:31
Александр Моторин, нет. хотелось бы чтоб все работало именно на этом листе. и с минимальными обращениями к ячейкам и другими манипуляциями. Цель этой работы именно в этом.
|
|
|
|
23.09.2022 08:24:04
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
|
|||
|
|
23.09.2022 08:46:56
Ігор Гончаренко, Задача: нужна формула проверки ячейки на содержание даты в формате дд.мм.гггг, после выполнения макроса (левая кнопка). Макрос по умолчанию в столбцах Q, AI, AK оставляет формат "Общий". Мне не важен формат данных ячеек после выполнения указанного макроса, главное чтобы формула сказала мне что в ячеке не дата или что в ячейке дата. Тоесть мне ненужно автозамена на дату, нужно просто мне сообщить что в ячейке ошибка.
Сейчас проблема в том, что формат после макроса остается общий, и не одна формула меня не спасает (например найти ??.??.???? или ячейка). Поэтому я думаю что единственный вариант это в макросе изменить формат этих ячеек на дату. |
|
|
|
23.09.2022 09:06:11
и формула и макрос должны куда-то вывалить результат проверки КУДА??? что должно быть результатом проверки? понимаете, пока обьяснения, как бы это мягче, хреновые - результаты проверки будут точно такими же, а нужны они вам такие?
Изменено:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
|
|||||
|
|
23.09.2022 09:25:51
Ігор Гончаренко, Что мне нужно: мне нужна формула, но я подозреваю, что формулы будут безполезны изза работы макроса в том сценарии в котором он работает сейчас. Именно подозреваю, а не уверен.
Куда мне нужна формула: да в целом мне нужна формула, но если необходимо прям конкретный адрес, то эта формула должна стоять в ячейках:AY4, BQ4, BS4 и возвращать она должна 1 и 0, где 1 это истина, 0 лож. |
|
|
|
23.09.2022 09:43:35
В макросе проверяйте сразу IsDate(...)
Скажи мне, кудесник, любимец ба’гов...
|
|
|
|
23.09.2022 10:02:59
Выуж определитесь, что вам нужно
Добавьте в макрос 1 строчку
|
|||||||||
|
|
23.09.2022 11:00:23
evgeniygeo, Я правильно понял, что Ваше дополнение предупреждает меня о ошибке в строке такойто, а затем разбивает коментарий вместе с этой ошибкой? Это дополнение хавает любой формат даты, тоесть д.мм.гггг или мм.дд.гггг он тоже пропускает?
Изменено: |
|
|
|
23.09.2022 11:02:03
RAN, В ВБА я совершенно ноль, сам не знаю куда вставлять это дополнение. Это замена формата ячеек с Общего на Дату?
|
|
|
|
23.09.2022 12:50:33
Сергей020487,
кто у Вас отобрал энтузиазм самостоятельного тестирования?))) |
|
|
|
23.09.2022 12:54:44
Вы в состоянии в своем файле найти первую из приведенных мной строк и добавить вторую?
Специально 2 строки привел.
Изменено: |
|||
|
|
23.09.2022 14:23:34
RAN,
я боюсь, что тут вопрос в другом: нужно как-то показать во время выполнения кода, что вместо необходимый даты вставилась какая-либо крокозябра.
Изменено: |
|
|
|
27.09.2022 06:51:05
evgeniygeo, Да именно так. В целом конечно Ваш вариант работет, при разбивке коментария сообщает в какой строке ошибка в полях дата. Не очень удобно когда большой массив и много ошибок. Можно ли вместо сообщения о наличии ошибки в данных полях,закрашивать ячейки. НО, есть одно но, у меня работает условное форматирование, боюсь что будет конфликт...
|
|
|
|
27.09.2022 07:04:24
Сергей020487,
можно выделить границами ячейки, конечно если они не заданы в УФ например, вместо
вот это
Изменено: |
|||||
|
|
27.09.2022 07:07:42
evgeniygeo, В уф задан только цвет заливки - красный. Любое другое выделения меня бы устроило.
|
|
|
|
27.09.2022 07:38:37
|
|
|
|
27.09.2022 08:44:42
evgeniygeo, Спасибо большое, очень полезная ссылочка.
|
|
|
|
27.09.2022 10:42:36
evgeniygeo, Евгений, прошу прощения, а вот к данном случае можно ли навиязать формат даты которая будет считаться верной, а все остальные не верны?
Cells(i, 17).Borders.Weight = xlThick Cells(i, 17).Borders.Color = vbRed |
|
|
|
27.09.2022 10:47:05
конечно, по примеру:
Изменено: |
|||
|
|
27.09.2022 10:58:36
Я вот только не пойму никак, зачем проверять правильность даты, если макрос никогда не вставляет дату, а всегда текст? Т.е. если видим в ячейке дату, значит там ошибка.
|
|
|
|
27.09.2022 11:23:50
evgeniygeo, Вы меня извините я не верно выразился. Я имел в виду прикрутить к этой проверке
Cells(i, 17).Borders.Weight = xlThick Cells(i, 17).Borders.Color = vbRed не формат ячейки, а формат содержимого ячейки дд.мм.гггг - верно; а д.мм.гггг не верно, или дд.мм.гг - неверно и тд
Изменено: |
|
|
|
27.09.2022 11:28:18
Сергей020487,
так стоп, мы же уже сделали проверку на дату?
если я правильно понял, то тогда лучше вот так проверять:
Изменено: |
|||||
|
|
29.09.2022 07:59:17
Скажите, он вед в принципе выполняет функцию: =поиск("??.??.????;А1) ? |
|||||
|
|
29.09.2022 08:26:12
Сергей020487,
согласен, немного запутал. Данный код не будет работать самостоятельно, т.к. не определено i по сути он тупо проверяет формат посмотрите как работает в файле во вложении (к сожалению есть свои недостатки, как и у IsDate, которые при необходимости можно устранить дополнительными условиями)
Изменено: |
|
|
|
29.09.2022 08:34:00
почти 30 сообщений в теме, а вопрос "дата в ячейке или нет" так и не выяснен!
знаете почему? потому что нет внятной постановки задачи но можно с этим не заморачиваться, когда-нибудь, кто-нибудь угадает что хочет автор темы, ну, не в этом году, так в следующем)))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
|
||||
|
|
|||