宏 - 清除多张表格上的内容

时间:2016-05-09 14:36:12

标签: excel vba clear

如果出现某些单词,我会使用宏来删除特定单元格的内容。目前我在工作簿上设置了1张。

但是我希望它可以在多张纸上工作。

这是我到目前为止所做的:

Sub CC()
Dim rCell As Range

For Each rCell In Sheet1.Range("O9,O11,O13,O15,O17,O19,O21,O23,O25,O27,O29,O31,O33,O35,O37,O39,O41,O43,O45,O47,O49,L10,L12,L14,L16,L18,L20,L22,L24,L26,L28,L30,L32,L34,L36,L38,L40,L42,L44,L46,L48,L50")
    If InStr(1, rCell.Value, "A") Or InStr(1, rCell.Value, "B") Or InStr(1, rCell.Value, "OK") Or InStr(1, rCell.Value, "C") Then
        rCell.ClearContents
    End If
Next rCell

Set rCell = Nothing
Application.OnTime Now + TimeValue("00:00:01"), "CC"

End Sub

1 个答案:

答案 0 :(得分:1)

添加以下内容:

 Dim rCell As Range
 dim sheet as worksheet
 For Each sheet In ActiveWorkbook.Worksheets
      For Each rCell In sheet.Range("O9,O11,O13,O15,O17,O19,O21,O23,O25,O27,O29,O31,O33,O35,O37,O39,O41,O43,O45,O47,O49,L10,L12,L14,L16,L18,L20,L22,L24,L26,L28,L30,L32,L34,L36,L38,L40,L42,L44,L46,L48,L50")
      If InStr(1, rCell.Value, "A") Or InStr(1, rCell.Value, "B") Or InStr(1, rCell.Value, "OK") Or InStr(1, rCell.Value, "C") Then
         rCell.ClearContents
      End If
      Next rCell
 Next

 Set rCell = Nothing
 Application.OnTime Now + TimeValue("00:00:01"), "CC"