Range.Autofilter 给出错误 800A03EC

Range.Autofilter gives error 800A03EC

我正在编写一个 Excel 加载项,Range.Autofilter 方法有问题。

对我不起作用的最小代码示例:

Excel.Worksheet currentWorksheet = Globals.ThisAddIn.Application.ActiveSheet;
currentWorksheet.Cells.AutoFilter();

此代码为我抛出错误 800A03EC。 我正在使用 Excel 2013 和 Visual Studio 2012,如果这会影响答案。

在我的例子中,问题是如果数据被格式化为 table(或者,在代码中,是一个 ListObject),Range.AutoFilter() 似乎不起作用。相反,我通过

得到了预期的结果
foreach (ListObject obj in currentWorksheet.ListObjects)
 {
            obj.ShowAutoFilter = true;
 }