Дата, введенная через VBA, не выбирается и группируется как дата автофильтром. - PullRequest
0 голосов
/ 04 марта 2020

Итак, я использую Excel 2016. У меня есть таблица со столбцом даты. Я заполняю эту таблицу через VBA следующим образом:

Dim DataTable As ListObject
Dim DataRow As Range

...

For Each Entry in Entries
DataTable.Resize DataTable.Range.Resize(DataTable.Range.Rows.Count + 1, DataTable.Range.Columns.Count)
Set DataRow = DataTable.ListRows(DataTable.ListRows.Count).Range
DataRow.Cells(1, 1).Value = Entry
DataRow.Cells(1, 1).NumberFormatLocal = "TT.MM.JJJJ"
DataRow.Cells(1, 1).HorizontalAlignment = xlRight
Next

«Записи» - это список дат в строковом формате.

Все выглядело идеально, пока я не заметил, что автофильтр столбца не будет сгруппируйте даты, добавленные через VBA. В таблице есть существующие строки с датами, добавленными вручную, эти группы сгруппированы правильно Когда я проверяю формат добавленных ячеек, он устанавливается на «TT.MM.JJJJ», как и все остальные ячейки. Если я go в любой из добавленных ячеек и нажал enter, то значение этой ячейки также будет правильно сгруппировано.

Я заблудился, что здесь не так, и как я могу это исправить в VBA: (

1 Ответ

0 голосов
/ 04 марта 2020

Хорошо, в конце концов, решение было довольно простым,

Дата не может быть введена в виде простой строки - мне пришлось разделить ее и преобразовать с помощью функции DateSerial.

...