vba 清除多个工作簿指定内容

有什么方法可以快速删除单价列和数量列里面的内容,但是当材料类别里面出现“瓷砖类”,则其单价列里面的内容保留,数量列的内容仍删除。由于一个Excel表中有多个工作簿,有什么方法可以快速删除这些工作簿里面的内容?另外每个工作簿里面的行数是不一样的。例如图一的工作簿有7行,图2的工作簿有11行

答:利用遍历工作表的方法。

Sub demo()
    Dim Sht As Worksheet
    Dim LastRow As Long, i As Long
    For Each Sht In Worksheets
        With Sht
            LastRow = .Cells(Rows.Count, 1).End(xlUp).Row
            For i = 2 To LastRow
                If .Cells(i, 1) <> "瓷砖类" Then
                    .Range("C" & i & ":D" & i).ClearContents
                Else
                    .Range("D" & i).ClearContents
                End If
            Next
        End With
    Next
End Sub

追问

那我在Excel中哪里插入这个代码,并且如何运行这个代码

追答

按ALT+F11组合键,打开VB窗口,执行"插入"-"模块",复制下面代码进去,按F5运行程序即得到结果。

追问

没有用啊,我是不是哪里操作错了,我按F5出现图四内容

追答

应该在程序窗口里,把光标置于代码中再按f5键运行,而不是在工作表界面里操作。

温馨提示:答案为网友推荐,仅供参考
相似回答