需要根据 excel vba 列表中的另一个单元格值更新单元格中的值

Need to update a value in a cell based on another cell value from the list in excel vba

我启用了 Excel 宏 sheet - Chart.xlsm- 其中的值是从列表中选择的:

我的目标是 - 选择D列D(WorkDay的类型)=“ Day off”,那么我希望列E(日期结果)和F(原因)将自动更新使用“不适用”值。 =14=]

我的(工作日类型)、(日结果)和(原因)列选择值存储在同一个宏传播sheet 文件中,但如果是,则存储在单独的 sheets 中重要

我不是 vba 专家,所以我尝试使用以下代码(但没有成功):

    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim sh As Worksheet
       Set sh = ActiveSheet
    If sh.Cells(3,4) = “Day Off” Then
       Sh.Cells(3,5) = “Not Applicable”
    End If
   End Sub

如果您希望代码在 D 列中选择一个值时 运行 您可以试试这个。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 4 Then
        If Target.Value = "Day Off" Then
            Application.EnableEvents = False
            Target.Offset(,1).Resize(,2).Value = "Not Applicable"
            Application.EnableEvents = True
        End If
    End If
End If