excel - 如果单元格值等于“”,如何编写 Excel 宏以删除整行
问题描述
我想要一个宏来删除整个单元格值等于“”的多个范围。范围是“B16:B115、B131:B230、B250:B349”。
逻辑:如果单元格等于“”,则删除整行。
我希望实际删除该行,而不仅仅是单元格的内容。
谢谢你。
解决方案
这值得一试:
On Error Resume Next
Range("B16:B115,B131:B230,B250:B349").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
On Error Goto 0
取决于“”单元格是否有公式或只是空的。 Range.SpecialCells:xlCellTypeBlanks 究竟代表什么?
编辑:如果你有公式,那么你必须走很长的路:
Sub DeleteEmpty()
Dim c As Range, rngDel As Range
For Each c In Range("B16:B115,B131:B230,B250:B349").Cells
If Len(c.Value) = 0 Then
If rngDel Is Nothing Then
Set rngDel = c
Else
Set rngDel = Application.Union(rngDel, c)
End If
End If
Next c
If Not rngDel Is Nothing Then rngDel.EntireRow.Delete
End Sub
推荐阅读
- java - How to calculate relative time spans using Java (code converting problem)?
- azure - 在 Windows 容器上运行的应用程序仅在启用 Hyper-V 容器的 SKU 中可用
- typescript - 如何在下一个导航中访问参数
- c++ - 如何在 C++ 类中实现 CreateThread - LPTHREAD_START_ROUTINE 类型的 ThreadProc 回调函数
- python - 根据列值对数据框进行排序
- javascript - 如何在不破坏 html 代码的情况下在 vuejs 模板中循环
- r - 如何从具有符号参数的函数的结果创建方程
- excel - 循环为每一行发送一封电子邮件
- node.js - 使用 axios 在 nodejs 中执行 post 请求,但我无法在 post 路由中接收数据
- javascript - 如何查找数组内的差异值并记录差异的索引