Excel 在不破坏文档格式的情况下,从所有单元格中删除指定的值

Excel 在不破坏文档格式的情况下,从所有单元格中删除指定的值,excel,formatting,cell,vba,Excel,Formatting,Cell,Vba,我需要从指定的单元格中删除一组指定的数字,而不会丢失实际的文档格式。这组数字包含100个数字,但为了简单起见,我只展示了几个字符 我已经尝试了对象范围的ClearContents方法,但是我得到了这个运行时错误1004。我该如何解决这个问题 Sub deleteval() Dim delete delete = Array("1", "2", "3", "4", "5", "a", "b", "c", "d", "e", "f", "g") Dim i As Long, j As Long

我需要从指定的单元格中删除一组指定的数字,而不会丢失实际的文档格式。这组数字包含100个数字,但为了简单起见,我只展示了几个字符

我已经尝试了对象范围的ClearContents方法,但是我得到了这个运行时错误1004。我该如何解决这个问题

Sub deleteval()

Dim delete
delete = Array("1", "2", "3", "4", "5", "a", "b", "c", "d", "e", "f", "g")

Dim i As Long, j As Long

Dim isThere As Boolean

For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
    For j = LBound(delete) To UBound(delete)
        If StrComp(Range("A" & i), delete(j), vbTextCompare) = 0 Then
            isThere = True
        End If
    Next j
    If isThere Then
        ActiveSheet.Range("A" & i).delete shift:=xlUp
    End If
    isThere = False
Next i

End Sub
试试这个,行吗

ActiveSheet.Range("A" & i).Select
Selection.ClearContents
小提示: 录制宏,模拟您的操作,停止宏录制器,然后查看自动生成的代码

经过测试,clearcontents工作正常!添加了错误处理

Sub deleteval()
On Error GoTo errdeleteval
Dim delete
delete = Array("1", "2", "3", "4", "5", "a", "b", "c", "d", "e", "f", "g")

Dim i As Long, j As Long

Dim isThere As Boolean

For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
    For j = LBound(delete) To UBound(delete)
        If StrComp(Range("A" & i), delete(j), vbTextCompare) = 0 Then
            isThere = True
        End If
    Next j
    If isThere Then
        ActiveSheet.Range("A9" & i).ClearContents
    End If
    isThere = False
Next i

On Error GoTo 0
Exit Sub
errdeleteval:
Debug.Print Err.Description & " (A" & i & ") "

End Sub

非常感谢你的回答!它工作得很好:。虽然,u写了:ActiveSheet.RangeA9&i.ClearContents,但这与上一篇专栏文章不匹配,所以我将A9改为A,一切都很顺利。再次感谢您抽出时间: