Имеется документ с формой заполнения данных, где указывается дата автоматически. Дата имеет формат dd.mm.yyyy, после заполнения формы добавляется строчка в общий документ с данными из формы.
Данные в ячейке даты отображаются как и положено, допустим 08.12.2015 Если ввести вручную, руками, например "8 дек", то будет отображаться 08 декабря 2015 г. НО! В то-же время в строке формул будет написано то-же 08.12.2015
И тут главное. Иногда нужно пользоваться фильтрами, и фильтровать, допустим, по декабрю. И фильтр не видит те значения, где дата создана скриптом. Даты же, где написано 08 декабря 2015 г, но в строке формул 08.12.2015 он видит. Ну, как не видит, видит, но если поставить галочку около "декабрь" то там этой строки не будет
Я пробовал в скриптах писать типа TheDate = Format(Date, "d mmmm yyyy"), дабы достичь слова "декабря", но тогда там написано "декабря" и в ячейке, и в строке формул тоже И, как результат, фильр его не видит
В коде надо приводить к виду даты. Если форма - это UserForm и дата вводится в TextBox, то надо вообще без бубнов:
Код
TheDate = Date
И "Декабрь" делать уже форматом ячейки. При условии, что Date - это получение системной даты. Если дата получается из TextBox, то так:
Код
TheDate = CDate(TextBox1.Value)
В противном случае в ячейку попадает текст, а не дата. И Excel не будет видеть в этом тексте дату. Чтобы было более понятно отчего и почему: Как Excel воспринимает данные?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
А так и было. Но тогда в ячейке написано 08.12.2015, и фильтр не воспринимает это как декабрь. Воспринимает как 12 месяц, который нужно открыть, и поставить галки у каждого дня. Формат ячейки мусолил мусолил, пытался свое правило отображения создать, но так вменяемого результата не вышло
Приведите весь код целиком, а еще лучше - файл с кодом и данными. Ибо то, что Вы пишите - ни разу не ясно пока. Видимо, уже не актуально. Ответ был на это: