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

问题描述 投票:0回答:1

描述

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

当前,当用户在列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列中生成的值的整个代码,请告诉我,以便为我提供提示/解决方案)。

vba excel-vba excel
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.