所以,我正在使用 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
'Entries' 是字符串格式的日期列表。
一切看起来都很完美,直到我注意到该列的自动过滤器不会对通过 VBA 添加的日期进行分组。该表具有手动添加日期的现有行,这些行正确分组。当我检查添加的单元格的格式时,它设置为“TT.MM.JJJJ”,就像所有其他单元格一样。如果我进入任何一个添加的单元格并按 Enter,则该单元格的值也会被正确分组。
我迷路了,这里出了什么问题,我该如何在 VBA 中解决这个问题:(