根据开始日期和天数查找结束营业日期 - excel

时间:2013-03-21 15:19:01

标签: excel-vba vba excel

这是我的第一个vba任务。事实上我第一次使用Alt + F11打开了VB编辑器! 我需要做的是,根据开始日期和天数计算结束日期。 我有A栏中的开始日期值和持续时间,即; B栏中的天数。 计算工作日是我目前的第二个问题。我首先需要知道的是,我如何使用Worksheet_Change事件?

我想做的是,当用户在A列的任何单元格中输入持续时间时,说A(n),在Worksheet_Change事件代码中选择单元格B(n)。当在B2中输入开始日期时,将调用计算结束日期的函数。如果它是正确的方法,请告诉我。

同样给我带来麻烦的是,当我在单元格中输入值后按Enter键时,Worksheet事件突然出现。

请帮我解决这个简单但复杂的问题!

1 个答案:

答案 0 :(得分:0)

尝试以下代码。请确保将此代码放在工作表中。此代码也适用于整列。

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Application.EnableEvents = False

    If Target.Column < 2 And Target.Count < 1 And Target.Value = "" Then Exit Sub

    If Target.Column = 1 And Target.Offset(0, 1) <> "" Then
        Target.Offset(0, 2) = DateAdd("d", CDbl(Target.Value), CDbl(Target.Offset(0, 1)))
    ElseIf Target.Offset(0, -1) <> "" Then
        Target.Offset(0, 1) = DateAdd("d", CDbl(Target.Offset(0, -1)), CDbl(Target.Value))
    End If


    Application.EnableEvents = True
End Sub