如何使用Microsoft.Office.Interop在工作表上重新应用Excel自动筛选器?

我有一个模板Excel工作表,该工作表具有一个自动过滤器预设,仅显示某些值。 从VB.Net,我使用microsoft.Office.Interop向该模板文件填充数据。 在用数据填充文件后,我需要重新应用预设的自动过滤器。

我想我可以用一个简单的方法做到这一点:

 If Sh.AutoFilterMode Then Sh.AutoFilter.ApplyFilter()

但是,这似乎没有效果。我也尝试过:

If Sh.AutoFilterMode Then
    Sh.AutoFilter.ShowAllData()
    Sh.AutoFilter.ApplyFilter()
End If

这显示了所有数据,但没有重新应用过滤器。

为什么这不起作用?还是实现我想要的正确方法是什么?

请注意,这是一个简化的示例。在我实际的模板文件中,有多个工作表和表格。我的代码着眼于第一张工作表,重新应用自动过滤器(如果有),然后对工作表上的任何表格执行相同的操作,然后移至下一张工作表。

我需要在模板文件而不是代码中定义过滤器,因为我的代码可以处理许多不同的模板文件。

谢谢

luobin19870620 回答:如何使用Microsoft.Office.Interop在工作表上重新应用Excel自动筛选器?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2993202.html

大家都在问