Excel 在不破坏文档格式的情况下,从所有单元格中删除指定的值
我需要从指定的单元格中删除一组指定的数字,而不会丢失实际的文档格式。这组数字包含100个数字,但为了简单起见,我只展示了几个字符 我已经尝试了对象范围的ClearContents方法,但是我得到了这个运行时错误1004。我该如何解决这个问题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
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,一切都很顺利。再次感谢您抽出时间: