关于如何自动删除包含 0 单元格的行,除了之前分享过的方法,VBA 也是必然会用到的一种。
案例:设置一个按钮,点击后可以自动删除下图 1 中所有含有 0 值单元格的行。
效果如下图 2 所示。
解决方案:1. 将光标放置到工作表名称处 --> 右键单击 --> 在弹出的菜单中选择“查看代码”
2. 在 VBE 中输入以下代码:
Sub DeleteZero()
Dim rng As Range
Dim cell As Range
Set rng = ThisWorkbook.Sheets("Sheet1").UsedRange '定义 Sheet1(当前工作表)中用到的区域;
For Each cell In rng '遍历上述区域中的单元格
If cell.Value = 0 Then '如果区域中任意单元格的值为 0
cell.EntireRow.Delete '那么将该单元格所在的整行删除
End If
Next cell
End Sub
3. 关闭 VBE --> 在 Excel 工具栏中选择“开发工具”-->“插入”-->“按钮(窗体控件)”
4. 在弹出的对话框中选择刚才编辑的宏 --> 点击“确定”
5. 修改控件的文本。
6. 点击按钮,就能将所有包含 0 单元格的行全部删除。
大家一定发现了一个小问题,随着行的删除,按钮的高度也变小了。下面就教大家如何让按钮的大小保持不变。
7. 选中按钮 --> 右键单击 --> 在弹出的菜单中选择“设置控件格式”
8. 在弹出的对话框中选择“属性”选项卡 --> 选择“大小、位置均固定”--> 点击“确定”
这次按钮就不会因为删除了所在的行而变形了。
最后提醒大家别忘了将文件保存为 .xlsm 格式。