我正在尝试清理我的电子表格。有许多空白单元丢掉了计数。我尝试使用此代码,但它给了我一个运行时错误。
Sub ClearAll()
Dim c As Range, MyRange As Range
Set MyRange = Range("A1:JS87")
For Each c In MyRange
If Len(c) = 0 Then c.ClearContents
Next c
End Sub
答案 0 :(得分:3)
由于找到合并的单元格(或等效单元格),可能会触发此错误。我做了一些测试,IsEmpty似乎跳过了这些情况。在任何情况下,我也包括一个错误捕捉完全确定。
Sub ClearAll()
Dim c As Range, MyRange As Range
Set MyRange = Range("A1:JS87")
For Each c In MyRange
On Error Resume Next
If (Not IsEmpty(c.Value)) Then
If Len(c) = 0 Then c.ClearContents
End If
Next c
End Sub
答案 1 :(得分:2)
也许这样:将c更改为单元格而不是范围,并在范围内使用单元格集合。
意识到您可能还需要c.value。否则你在看什么属性?
Sub ClearAll()
Dim c As cell, MyRange As Range
Set MyRange = Range("A1:JS87")
For Each c In MyRange.cells
If Len(c.value) = 0 Then c.ClearContents
Next c
End Sub