Excel自动筛选器下拉框中的上一个选定值

时间:2014-04-03 10:31:42

标签: excel vba access-vba ms-office

我在Excel XP上创建带有自动过滤器列的工作簿时发现了一种奇怪的行为。

通常情况下,我自动过滤的最后一个字段会在下拉列表中进行检查:

Example with expected result

但是当我通过Access VBA脚本创建工作簿时,我很简单就没有这种行为:

Example not working

用于生成该工作簿的代码是:

Public Function exportToXLS(tableName, controlField)
    [...]

    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, queryName, pathWorkbook, True

    [...]
End Function

1 个答案:

答案 0 :(得分:0)

挖掘并询问我的同事,我发现要获得此行为,列必须采用数字类型格式。

将文本插入该行中的列以确保数字格式我已解决了我的问题。

Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
    :=Array(1, 1), TrailingMinusNumbers:=True