Excel VBA 代码 - 当工作表 2 中的两个单元格相等时,如何清除工作表 1 的某一列的值?

Excel VBA 代码 - 当工作表 2 中的两个单元格相等时,如何清除工作表 1 的某一列的值?

我有两张表。Sheet 1包含所有输入。Sheet 2包含参数。我想在Sheet 1单元格Sheet 2相等时删除某些单元格。

假设我正在比较 的单元格 D 和 E。Sheet 2如果D3=E3,那么我想删除 中“pressure2”对应的单元格Sheet 1(即B2:B3000)。如果D2=E2,那么我想删除 中“pressure”对应的单元格Sheet 1(即A2:A3000

有人知道如何通过 VBA 宏来做到这一点吗?

在此处输入图片描述

答案1

创建一个模块并插入代码。比较 Sheet2 的单元格D3E3的值;如果它们相等并且不为空,则A2:A3000清除 Sheet1 范围内的值。

Sub ClearRange()

    Dim wb As Workbook
    Dim ws1, ws2 As Worksheet

    Set wb = ThisWorkbook
    Set ws2 = wb.Sheets("Sheet2")
 
    'Check if the cells have the same value and if they are not empty
    If (ws2.Range("D3").Value = ws2.Range("E3").Value) _
      And ws2.Range("D3").Value <> "" _
      And ws2.Range("E3").Value <> "" Then

        Set ws1 = wb.Sheets("Sheet1")
        'Clear the range
        ws1.Range("A2:A3000").Clear

    End If

End Sub

相关内容