VBA如果sheet1上的单元格(或范围)包含任何值,则清除工作表2上的单元格范围内容

时间:2016-06-06 13:40:02

标签: excel vba excel-vba

我正在努力实现一些对你们来说非常简单的事情,但对于我自己作为初学者来说证明有点困难。

我尝试为以下示例创建脚本:

“如果工作表1上的单元格A1:A4包含任何值(文本或整数),则在工作表2上清除A1:A4”

我尝试构建几个脚本但都失败了。

非常感谢!

3 个答案:

答案 0 :(得分:0)

试试这个

Sub Clear()
 If Not IsEmpty("A1") And Not IsEmpty("A2") And Not IsEmpty("A3") And Not IsEmpty("A4") Then
    Range("A1:A4").Clear
 End If
End Sub

答案 1 :(得分:0)

怎么样:

Sub ClearCell()
    Dim r As Range

    For Each r In Sheets("Sheet1").Range("A1:A4")
        If r.Value <> "" Then Sheets("Sheet2").Range(r.Address).Clear
    Next r
End Sub

这假设您需要检查是逐个单元格。

答案 2 :(得分:0)

这是一个单行,当单元格值为空字符串时计算单元格值。

    Public Sub ClearRange()
        If Application.WorksheetFunction.CountIf(Range("a1:a4"), "<>") > 0 Then Range("a1:a4").ClearContents
    End Sub