如何在 Excel 中筛选列表并删除其余隐藏或可见的行?
在 Excel 中处理大型数据集时,通常会对列表进行筛选,仅显示您需要用于分析或报告的数据。然而,在数据被筛选后,您可能还希望删除不再需要的行——通过删除所有隐藏的行(即被筛选掉的行),或者删除所有可见的行(即您选择查看的行),以便只保留所需的信息。以这种方式正确管理筛选后的数据有助于简化工作表,减少混乱,并确保只保留相关的信息。本文介绍了几种在 Excel 的筛选列表中删除隐藏或可见行的可靠方法,使您能够根据实际需求高效清理数据。
使用 VBA 代码删除活动工作表中的隐藏行
通过选择所有可见单元格删除筛选列表中的可见行
使用 Kutools for Excel 轻松删除筛选列表中的隐藏或可见行
使用 VBA 代码删除活动工作表中的隐藏行
当您在 Excel 中筛选数据时,不符合条件的行会被隐藏,但仍然存在于工作表中。有时您可能希望快速删除所有这些隐藏的行,而不是逐一手动删除它们,因为手动操作既耗时又容易出错——尤其是在处理大型数据集时。使用一个简单的 VBA 宏提供了一种有效的方法,可以一次性删除活动工作表中的所有隐藏行,无论这些行是通过筛选隐藏的还是由用户手动隐藏的。这在您希望只保留当前可见(已筛选)的数据并丢弃其余数据时特别适用。
以下是具体步骤:
1. 首先,确保包含筛选列表的工作表处于活动状态(已选中)。
2. 同时按下 Alt + F11 打开 Microsoft Visual Basic for Applications (VBA) 编辑器窗口。
3. 在 VBA 编辑器中,点击顶部菜单上的“插入”,然后选择“模块”。将以下 VBA 代码复制并粘贴到模块窗口中:
VBA 代码:删除隐藏行
Sub RemoveHiddenRows()
Dim xRow As Range
Dim xRg As Range
Dim xRows As Range
On Error Resume Next
Set xRows = Intersect(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
If xRows Is Nothing Then Exit Sub
For Each xRow In xRows.Columns(1).Cells
If xRow.EntireRow.Hidden Then
If xRg Is Nothing Then
Set xRg = xRow
Else
Set xRg = Union(xRg, xRow)
End If
End If
Next
If Not xRg Is Nothing Then
MsgBox xRg.Count & " hidden rows have been deleted", , "Kutools for Excel"
xRg.EntireRow.Delete
Else
MsgBox "No hidden rows found", , "Kutools for Excel"
End If
End Sub
4. 要运行代码,请按 F5 键或点击工具栏中的“运行”按钮。如果您的活动工作表包含隐藏行,将会弹出一个对话框,告知您已删除了多少隐藏行。点击“确定”完成删除。请参见下面的截图:
如果活动工作表中没有隐藏行,将会显示一条消息通知您:
注意事项和提示:
- 此宏会删除所有隐藏的行,无论它们是通过筛选隐藏的还是手动隐藏的。
- 在运行宏之前,请确认您选择了正确的工作表。运行 VBA 代码后无法撤销——建议先备份。
- 如果您有引用超出待删除行范围的公式,请注意删除行可能会影响后续计算和引用。

使用 Kutools AI 解锁 Excel 魔法
- 智能执行:执行单元格操作、分析数据和创建图表——所有这些都由简单命令驱动。
- 自定义公式:生成量身定制的公式,优化您的工作流程。
- VBA 编码:轻松编写和实现 VBA 代码。
- 公式解释:轻松理解复杂公式。
- 文本翻译:打破电子表格中的语言障碍。
通过选择所有可见单元格功能删除筛选列表中的可见行
在某些情况下,您可能希望仅删除应用筛选后的可见行——也许是为了留下隐藏的(被筛选掉的)条目以供进一步处理或审查。Excel 的内置功能可以帮助高效删除筛选列表中的所有可见行,而不会影响隐藏的行。当您需要清除已处理或选定的数据并保留隐藏的内容(如已完成的任务或已审核的记录)时,这种方法非常实用。
以下是具体步骤:
1. 选择整个筛选列表的范围,包括可见和隐藏的行。
2. 按下 F5(或 Ctrl+G)打开“定位”对话框。点击左下角的“特殊”按钮以打开“定位条件”选项。请参见截图:
3. 在“定位条件”对话框中,选择“仅可见单元格”,然后点击“确定”。此操作将仅突出显示所选范围内的可见(未被筛选或其他方式隐藏)行。
4. 现在可见行已被选中,右键单击高亮区域中的任意位置,从上下文菜单中选择“删除行”。
这将立即删除可见行,而隐藏行在筛选条件下保持不变。这是快速精简工作表的一种方式,只保留之前隐藏的那些行。
重要提醒:
- 在开始时选择范围时要小心——确保它包括所有预期的行,甚至包括当前隐藏的行。
- 如果保存并关闭文件,“删除行”操作将无法撤销。在做出不可逆更改之前,请考虑备份。
- 此方法适用于偶尔从筛选数据集中删除可见行的情况,但对于多个范围或频繁任务可能会比较耗时。
使用 Kutools for Excel 轻松删除筛选列表中的隐藏或可见行
虽然上述手动和 VBA 方法很常用,但在频繁管理复杂或大型工作表的情况下,它们可能不够灵活或方便。为了更高效地满足这些需求,Kutools for Excel 提供了“删除隐藏(可见)行和列”工具,为用户提供了一种友好的方式,可以快速从选定范围、当前工作表甚至所有工作表中删除隐藏或可见行。这种方法节省时间,降低了由于手动操作引起的错误风险,尤其适合经常清理和处理大型数据集的用户。
以下是使用 Kutools for Excel 完成此任务的步骤:
1. 选择您想要删除隐藏或可见行的筛选范围。
2. 转到 Excel 窗口顶部的“Kutools”选项卡,然后选择“删除 > 删除隐藏(可见)行和列”。请参见下方截图以获取指导:
3. 在 删除隐藏(可见)行和列 弹出的对话框中设置您的选项:
– 在 查找范围 下拉菜单中,保持 在选定范围内 (或者根据任务需求选择其他选项)
– 在 删除类型 部分,勾选 行
– 在 详细类型 部分,选择 可见行 或 隐藏行 视需求而定
– 点击 确定 以确认并执行
4. 执行完成后,一个确认框将告诉您已删除了多少行。点击“确定”完成该过程。
使用说明和提示:
- Kutools 让您可以轻松选择范围或将操作应用于整个工作表,提高批量处理效率。
- 这种方法减少了与手动选择相关的错误,特别是在大型表格中。
- 如果您正在处理大量列表或需要定期清理数据,此解决方案尤为便捷。
- 在点击“确定”之前,始终确认您选择的范围和操作选项。
如果您想免费试用(30天)此工具,请点击下载,然后按照上述步骤进行操作。
使用 Kutools for Excel 删除筛选列表中的隐藏或可见行
最佳Office办公效率工具
🤖 | Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数…… |
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入…… | |
高级LOOKUP:多条件VLookup|多值VLookup|多表查找|模糊查找…… | |
高级下拉列表:快速创建下拉列表 |依赖下拉列表 | 多选下拉列表…… | |
列管理器: 添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域与列…… | |
特色功能:网格聚焦 |设计视图 | 增强编辑栏 | 工作簿及工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按名单发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/倾斜/删除线等)…… | |
15大工具集:12项 文本工具(添加文本、删除特定字符等)|50+种 图表 类型(甘特图等)|40+实用 公式(基于生日计算年龄等)|19项 插入工具(插入二维码、从路径插入图片等)|12项 转换工具(小写金额转大写、汇率转换等)|7项 合并与分割工具(高级合并行、分割单元格等)| …… |
通过Kutools for Excel提升您的Excel技能,体验前所未有的高效办公。 Kutools for Excel提供300多项高级功能,助您提升效率并节省时间。 点击此处获取您最需要的功能……
Office Tab为Office带来多标签界面,让您的工作更加轻松
- 支持在Word、Excel、PowerPoint中进行多标签编辑与阅读。
- 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
- 可提升50%的工作效率,每天为您减少数百次鼠标点击!
所有Kutools加载项,一键安装
Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。





- 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
- 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
- 协同更高效——提升Office应用间的整体工作效率
- 30天全功能试用——无需注册,无需信用卡
- 超高性价比——比单独购买更实惠