如何在Excel VBA中删除过滤器(5种简单方法)

  • Share This
Hugh West

在与 微软Excel 筛选数据可以让我们只看到我们想要的信息。 每当我们想集中在一个大的数据集或表格中的某些元素时,这种技术就会派上用场。 当工作完成后,我们需要把这些数据放回我们的电子表格中。 尽管 ǞǞǞ 已经有一个内置的工具。 但是 VBA 是在Excel中进行任何任务的最有效、最省时、最安全的方式。 在这篇文章中,我们将通过一些例子来删除Excel VBA中的过滤器。

下载实践工作手册

你可以下载工作手册,用它们进行练习。

移除过滤器的VBA.xlsm

在Excel VBA中删除过滤器的5种简单方法

Excel有内置的工具和函数来移除数据中的过滤器。 但随着 Excel VBA 我们可以快速删除这些过滤器,只需运行 VBA 为了从数据中删除过滤器,我们将使用以下数据集。 该数据集在列中包含一些产品的IDs B ,产品名称在列 C 栏中的交货国,以及 D 因为我们只想看到产品的细节。 洗发水 护理剂 现在,假设我们需要清除这些被过滤的数据。 我们将使用一些 Excel VBA 宏程序 让我们来演示一下用以下方法从数据中清除这些过滤器的例子 Excel VBA .

1.应用VBA从Excel表中删除所有过滤器

Excel VBA 要使用这些代码,用户可以很容易地从功能区使用作为excel菜单的代码。 要使用 VBA 代码来删除Excel表中的所有过滤器,让我们按照步骤往下看。

步骤。

  • 首先,到 开发商 选项卡。
  • 其次,从 编码 类别,点击 愿景 以打开 Visual Basic编辑器 或者按 Alt + F11 以打开 Visual Basic编辑器 .

  • 与其这样做,你可以在你的工作表上点击右键,然后转到 查看代码 这也将带你到 Visual Basic编辑器 .

  • 这将出现在 Visual Basic编辑器 我们在这里编写代码,从范围中创建一个表。
  • 第三,点击 模块 插入 下拉菜单栏。

  • 这将创建一个 模块 在你的工作簿中。
  • 并且,复制并粘贴 VBA 代码如下所示。

VBA代码。

 Sub Remove_Filters1() Dim lstObj As ListObject Set lstObj = Sheet1.ListObjects(1) lstObj.AutoFilter.ShowAllData End Sub 
  • 之后,通过点击运行代码。 擦肩而过 按钮或按键盘快捷键 F5 .

  • 最后,按照步骤,将从工作表中的excel表中删除所有的过滤器。

VBA代码解释

 Sub Remove_Filters1() 

是代码的一部分,用于处理代码中的工作,但不会返回任何值。 它也被称为子过程。 因此我们将我们的过程命名为 Remove_Filters1() .

 Dim lstObj As ListObject 

变量声明。

 Set lstObj = Sheet1.ListObjects(1) 

VBA设置只是让我们避免在运行代码时反复输入我们需要挑选的范围。 因此,我们设置对工作表上第一个表的引用。

 lstObj.AutoFilter.ShowAllData 

这行代码将删除整个数据的所有过滤器。

 结束子程序 

这将结束该程序。

阅读更多。 如何删除Excel中的过滤器(5个简单的amp; 快速的方法)。

2.使用VBA清除工作表上的所有Excel表格过滤器

让我们来看看另一个利用Excel VBA删除工作表上所有excel表格过滤器的例子。 为此,请按照以下步骤进行。

步骤。

  • 首先,去到 发展ope 从功能区中选择 "r "选项卡。
  • 第二,点击 视觉基础 以打开 Visual Basic编辑器 .
  • 另一种打开方式是 Visual Basic编辑器 是简单地按下 Alt + F11 .
  • 或者,在工作表上点击右键,然后选择 查看代码 .
  • 接下来,请到 插入 并选择 模块 从下拉菜单中选择。
  • 而且,这将打开Visual Basic窗口。
  • 之后,复制并粘贴 VBA代码 下面。

VBA代码。

 Sub Remove_Filters2() Dim lstObj As ListObject For Each lstObj In Sheet2.ListObjects lstObj.AutoFilter.ShowAllData Next lstObj End Sub 
  • 此外,按 F5键 或点击 运行子 按钮来运行该代码。

  • 而且,这段代码将清除你工作表中的所有Excel表格过滤器,并给出如下输出 方法一 .

VBA代码解释

 For Each lstObj In Sheet2.ListObjects lstObj.AutoFilter.ShowAllData Next lstObj 

这几行代码循环浏览工作表中的所有表格,并删除整个工作表的所有过滤器。

阅读更多。 如何过滤Excel数据透视表(8种有效方法)

3.在Excel中用VBA删除某一列的过滤器

让我们来看看用Excel VBA清除某一列过滤器的另一种方法。 让我们看看这个过程。

步骤。

  • 要开始,请点击 开发商 选项卡上。
  • 第二,启动 Visual Basic编辑器 通过点击 视觉基础 .
  • 或者,你可以访问 Visual Basic编辑器 通过按 Alt + F11 .
  • 或者。 右键点击 在工作表上,选择 查看代码 从菜单中选择。
  • 接下来,选择 模块 下的下拉框中选择 插入 .
  • 然后会出现Visual Basic窗口。
  • 把代码写在那里。

VBA代码。

 Sub Remove_Filter3() Sheet1.Range("B3:D16").AutoFilter Field:=4 End Sub 
  • 最后,按 F5键 来运行该代码。

  • 使用这段代码将从你的excel表中的某一列删除过滤器。

VBA代码解释

 Sheet1.Range("B3:D16").AutoFilter Field:=4 

该代码行只指定字段号,没有其他参数。

阅读更多。 Excel VBA在同一列中通过多个标准进行过滤(6个例子)。

类似读物

  • Excel VBA:如何用数组中的多个标准进行过滤(7种方法)
  • 在Excel中按日期过滤数据的VBA代码(4个例子)
  • 如何在受保护的Excel工作表中使用过滤器(简易步骤)?
  • 在Excel VBA中通过多个标准过滤不同的列
  • 在Excel中过滤数据的VBA代码(8个例子)

4.清除活动工作表中的所有过滤器

现在,看一下另一个 Excel VBA 让我们按照下面的步骤来做。

步骤。

  • 要开始,打开功能区并选择 开发商 选择。
  • 然后,要访问 Visual Basic编辑器 ,点击 视觉基础 .
  • 按压 Alt + F11 也将调出 Visual Basic编辑器 .
  • 或者说。 右键点击 的纸张,并选择 查看代码 从出现的菜单中选择。
  • 现在,从 插入 下拉选项,选择 模块 .
  • 然后复制并粘贴 VBA 下面的代码。

VBA代码。

 Public Sub RemoveFilter() If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData End If End Sub 
  • 运行代码,按 F5 钥匙。

  • 最后,你将能够使用这个方法从你的数据中删除过滤器 VBA 像这样的代码 方法一 .

阅读更多:如何在Excel中通过另一个工作表的列表过滤(2种方法)。

5.Excel VBA删除工作簿中的所有过滤器

让我们再来探讨一下 r Excel VBA 所以,让我们看看下面的步骤。

步骤。

  • 要开始,打开功能区,选择 开发商 从下拉菜单中选择。
  • 然后选择 视觉基础 以打开 Visual Basic编辑器 .
  • ǞǞǞ Visual Basic编辑器 也可以通过按 Alt + F11 .
  • 或者,你可以 右键点击 的纸张,并选择 查看代码 从弹出的菜单中选择。
  • 之后,选择 模块 插入 下拉菜单。
  • 然后复制并粘贴以下VBA代码。

VBA代码。

 Sub Remove_Filters_From_Workbook() Dim shtnam As Worksheet Dim lstObj As ListObject For Each shtnam In Worksheets For Each lstObj In shtnam.ListObjects lstObj.AutoFilter.ShowAllData Next lstObj Next shtnam End Sub 
  • 最后,运行代码,按 F5 在你的键盘上,你可以在你的工作表中看到这个结果。

  • VBA 代码将清除整个工作簿中的所有过滤器,如图所示。 第一种方法 .

VBA代码解释

 For Each shtnam In Worksheets For Each lstObj In shtnam.ListObjects lstObj.AutoFilter.ShowAllData Next lstObj Next shtnam 

第一个循环用于循环浏览工作簿中的所有表格。 第二个循环用于循环浏览工作表中的所有表格。 然后,循环内的一行只是清除了表格中的过滤器。 之后,用最后两行关闭循环。

阅读更多。 Excel过滤器的快捷方式(3种快速使用方法及示例)

总结

上述方法将协助你 在Excel VBA中删除过滤器 希望这对你有帮助!如果你有任何问题、建议或反馈,请在评论区告诉我们。 或者你可以看一下我们的其他文章。 淘宝网 博客!

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.