如果更改了单元格值,请更改其旁边的单元格值

时间:2018-02-26 16:41:16

标签: excel vba excel-vba

我需要在用户更改b2值时清除相关下拉列表a2。我有518个需要此代码的值,(如果a2已更改,则为空b2,如果a3更改为空a3,则a4更改为空白a4等等。)。

最简单的方法是什么?这是我更改一个值的代码(必须有一个比复制此代码518次更有效的方法)。谢谢!

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = Range("a2").Address Then
        Range("b2").Value = ""
    End If
End Sub

1 个答案:

答案 0 :(得分:1)

您可以使用目标范围的.row属性,并将其应用于抓取您的范围进行更改的Cells()方法。

试试这个:

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim tgtRng As Range
    Set tgtRng = Range("A:A")

    If Intersect(tgtRng, Target) Is Nothing Then Exit Sub

    Cells(Target.Row, 2).Value = vbNullString

End Sub