我需要MS Excel中的公式才能在每次更新特定行中的任何单元格时获取最后更新的时间戳。我正在使用
=if($2:$2="","",NOW())
但是当一个单元格更新时,每个具有类似公式的其他行的单元格用最新的时间戳更新。可能是什么问题?
我只需要公式而不是宏/ excel程序。
答案 0 :(得分:0)
您需要在工作表更改事件中创建VBA宏。您可以根据更改的单元格的行,轻松地将时间戳作为字符串输入到行中。 没有可以做你要求的公式。
要进入工作表更改事件,请转到“文件”,然后转到“选项”。然后转到自定义功能区。选中右侧列中“开发人员”旁边的框。在功能区中新添加的“开发人员”选项卡下,选择最左侧的Visual Basic。在打开的编辑器左侧的“项目”窗口中找到工作表。您可能需要展开工作簿和名为Excel Objects的文件夹。双击工作表以获取其代码。将打开一个窗口,顶部有两个下拉菜单。在左侧,转到工作表。在右侧,选择更改。在Private Sub Worksheet_Change(ByVal Target As Range)
和End Sub
之间,您可以添加将在工作表发生更改时运行的代码。
这是您将使用的代码,将Cells()中的“5”替换为您要为其添加时间戳的列。
Dim i As Integer
i = Target.Row
Dim t As String
t = VBA.Now
Cells(i, 5) = t
答案 1 :(得分:-1)
如果包含时间戳的单元格是B3,要监视的单元格是C3,则公式为: = IF(C3<>"",IF(B3 ="",NOW(),B3)"&#34)