gpt4 book ai didi

返回#NAME的公式的Excel问题?

转载 作者:行者123 更新时间:2023-12-04 22:12:37 24 4
gpt4 key购买 nike

大家早上好。我在 Excel 返回 #NAME 时遇到困难?具有函数调用的单元格的值,并希望得到一些帮助。因此,对于一点背景知识,我想要完成的是当一个单元格使用下拉列表选择一个值时,我希望相邻单元格具有无法更改的时间戳。我已经编写了以下函数(截图示例适用于选择下拉菜单“已提交”时,但我还有另一个“已删除”),并且在我保存并关闭之前一切似乎都按预期工作电子表格。 (见下面的截图)
时间戳功能:

Function reqTimestamp(Status)
If Status.Value = "Requested" And Not IsDate(Application.Caller) Then
reqTimestamp = Format(Now, "dd-mm-yy hh:mm AM/PM")
Else
reqTimestamp = Application.Caller.Value
End If
End Function
我的 Excel 文档中的设置如下:
Initial setup
这里的最终目标是在下拉菜单中进行适当的选择时,会创建一个时间戳,如下所示:
Final Product example
此设置的目的是创建一个文档,其中一旦任务状态发生更改,就会生成时间戳以指示更改发生的时间。例如,当请求进入“已提交”时,会在相应的单元格中创建时间戳,然后当它移至“已删除”状态时,时间戳会再次放入相应的列中。此外,创建时间戳后,单元格不需要更改(以保持两个事件之间的完整性)。
它在电子表格打开时工作,但是一旦你保存并关闭它,函数所在的所有空单元格都用#NAME?填充,但工作函数仍然存在。我确实通过禁用选项的公式部分中的自动计算找到了一种解决方法(有点),但是只有在保存文档后才会标记时间戳。这真的行不通,因为它(希望)将被存储在一个多人可以访问的地方,所以我不确定那时什么会被认为是“保存”。
可能不需要编写 VB 函数,但我知道的不够多。任何帮助将不胜感激!提前致谢。

最佳答案

感谢 BigBen 为我指明了正确的方向,找到了以下工作。这是我添加的代码:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 7 Then
If ActiveCell.Value = "Requested" Then
If Not IsDate(ActiveCell.Offset(0, 1)) Then
ActiveCell.Offset(0, 1) = Format(Now, "dd-mm-yyyy hh:mm")
End If
End If

If ActiveCell.Value = "Deleted" Then
If Not IsDate(ActiveCell.Offset(0, 2)) Then
ActiveCell.Offset(0, 2) = Format(Now, "dd-mm-yyyy hh:mm")
End If
End If
End If
End Sub

关于返回#NAME的公式的Excel问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71799049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com