如何根据下拉事件更改单元格值?

时间:2016-12-09 08:34:01

标签: excel vba

我在前一篇文章中几乎找到了答案,但并不完全。

方案如下。

A列包含基于下拉列表的值。

当我更改值时 - 在A列的任何行上 - 我希望将当前日期写入C列中的相应行。当我稍后保存并重新打开文件时,日期不能更改point,即= TODAY()函数不会这样做。

在退出并保存文件之前,用户可能会更改A列中不同行的多个值。

感谢任何输入。

貂。

1 个答案:

答案 0 :(得分:0)

这应该满足您的需求,将此vba代码粘贴到您想要的工作表的Microsoft Excel对象中(因此,如果这是Sheet1,请将其粘贴到Sheet1中):

Private Sub Worksheet_Change(ByVal Target As Range)

Dim controlRng, nRng As Range
'This will be the entire range of drop downs you have, I've set it to be the entire column A, if that's not suitable then change it to a set range
Set controlRng = Range("A:A")
Set nRng = Intersect(controlRng, Target)

If nRng Is Nothing Then Exit Sub

If Target.Value <> "" Then
    Target.Offset(0, 2).Value = Now
End If

End Sub