作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个脚本“有效”,但前提是我运行它两次。任何人都知道为什么会发生这种情况?处理特殊类型有点像一场噩梦,我不确定这是否只是我的问题或已知的问题。在 Windows 7 上使用 Excel 2010。我也尝试重复该代码两次,但无济于事。我尝试将其放入 Do Until 中,但在第一次执行时总是陷入永远循环。我不知道为什么第二次执行它似乎有效
'Remove all Blank Cells
On Error Resume Next
For i = Cells.SpecialCells(xlCellTypeBlanks).Count To 1 Step -1
Cells.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Next i
If Cells.SpecialCells(xlCellTypeBlanks).Count = 0 Then
ActiveWorkbook.Close (True)
最佳答案
编辑:更新了答案,以显示删除“特殊单元格”范围如何不会重置工作表的 UsedRange
属性,以及这如何导致问题。
尝试在工作表上多次运行此子程序,无论是否注释掉对 Activesheet.UsedRange 的调用...
Sub Tester()
Dim rng As Range
On Error Resume Next
Set rng = ActiveSheet.Cells.SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If Not rng Is Nothing Then
Debug.Print "have empty cells"
rng.EntireRow.Delete
ActiveSheet.UsedRange
Else
Debug.Print "no empty cells"
End If
End Sub
保存并重新打开似乎也会重置UsedRange...
EDIT2你应该非常小心地使用它!它会删除整行即使该行中有非空白单元格。对于某些类型的数据布局来说是可以的,但对于其他类型的数据布局则不行。在某些情况下,当调用“删除”时,您可能还会看到错误“无法在重叠选择上使用该命令”。
关于vba - 使用 Excel VBA 删除 SpecialType 空白单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11994187/
这个脚本“有效”,但前提是我运行它两次。任何人都知道为什么会发生这种情况?处理特殊类型有点像一场噩梦,我不确定这是否只是我的问题或已知的问题。在 Windows 7 上使用 Excel 2010。我也
我是一名优秀的程序员,十分优秀!