Excel错误1004 - 运行时错误“1004”应用程序定义或对象定义的错误

时间:2013-06-24 19:47:04

标签: excel vba excel-vba

我正在尝试清理我的电子表格。有许多空白单元丢掉了计数。我尝试使用此代码,但它给了我一个运行时错误。

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

2 个答案:

答案 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

MSFT Link