自动更新单个单元格值(不是整个范围) - VBA

时间:2017-12-27 14:01:55

标签: vba excel-vba excel

描述

在我的工作簿中,有三张表,用户可以输入或更改数据。

目前,当用户在C列中以下拉列表方式选择4个选项中的1个时,相应的值将在D列中输出。然后,用户可以按预期更改D列中的值。

我使用以下代码根据三张表中每列中的值C自动更新D列中的值:

代码

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 3
    Call Macro1
End If   

If Target.Column = 4
    Call Macro2
End If

End Sub

问题/所需输出

当用户更改C列中的特定/单个值时,只应更改D列中的相应值,而不是所有三个表中的整个列。

是否可以将自动更新限制为特定单元格?

(如果我需要上传C列和D列中生成的值的整个代码,请告诉我,以便为我提供提示/解决方案。)

1 个答案:

答案 0 :(得分:0)

您可以将代码添加到ThisWorkbook模块以监控所有三张表。

我不知道D列中的相应值应该是什么,所以此代码只会将C列中的值复制到D列。

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Column = 3 Then
        'Column D is updated to show same value as col C.
        Target.Offset(, 1) = Target.Value
    End If
End Sub