数据筛选器不显示要筛选的内容

Data Filter Shows Nothing To Filter On

我已将查询导入 Excel,非常 straight-forward 过程。我遇到的问题是,如果我单击 header 行并说过滤器,如果我 select 任何过滤器箭头,它们就没有要过滤的值?我应该更改什么以便能够筛选列中的值?

第 1 行包含 header,第 2 行包含数据 --- 但是它们是数据行(即第 2 行及以后)中返回的一些空白值

这里是 link 垃圾数据工作簿,显示了该问题。 enter link description here

数据作为列表Object table 导入,并包含一个 header,用 .ListObjects.ShowHeaders = False 隐藏。要解决此问题,必须公开 header 行,然后将工作表的第 1 行转移到 table 的 header 行。

这里有一些快速代码,可以针对这种情况修复作为 table 导入的数据。

Sub Repair_Import()
    Dim lo As ListObject
    With ActiveSheet
        For Each lo In .ListObjects
            If Not lo.ShowHeaders Then _
                lo.ShowHeaders = True
            If Not IsNumeric(.Cells(2, 1)) Then
                .Rows(1).Copy Destination:=.Cells(2, 1)
                .Rows(1).EntireRow.Delete
            End If
            If Not lo.ShowAutoFilterDropDown Then _
                lo.ShowAutoFilterDropDown = True
        Next lo
    End With
End Sub

选中 A2(或实际列表 Object table 中的任何单元格),大致转换为:

  1. Table 工具 ► 设计 ► Table 样式选项 ► Header 行
    Alt+ JT,O
  2. 复制第一行 header 标签。
    Ctrl+Home 然后 Shift+Ctrl+Ctrl+C.
  3. Select A2 并粘贴。
    然后 Ctrl+V
  4. Select 第 1 行并删除,向上移动。
    Ctrl+Home 然后 Shift+空格键 最后 Alt+E,D.
  5. Table 工具 ► 设计 ► Table 样式选项 ► 过滤器按钮
    Alt+JT,B

恕我直言,原始数据导入会更好,并允许在用户端进行更多的个性化定制。 这确实取决于 table header 的 top-left 单元格是基于文本的,并且该列是数字的,但个别情况应该很容易通过较小的编辑来适应。

打开隐藏 table header 行。

正在打开数据 ► 数据工具 ► 过滤器显示没有可供过滤的值。

使用上下文菜单 Table 工具 ► 设计 ► Table 样式选项 ► 显示 Header 行。

运行修复宏后。

值可用于筛选。