希望有一种方法可以通过公式完成,因为我将把它作为共享工作簿放在SharePoint上。
B列包含任务,而E列包含分配任务的日期和时间。当有人在B列中输入数据时,是否有一个公式会自动输入E列中的当前日期和时间?
非常感谢任何协助。
答案 0 :(得分:5)
另一种方法如下所述。
首先,在File - Options - Formulas - Enable Iterative Calculation
下启用迭代计算。然后将最大迭代次数设置为1000。
执行此操作后,请使用以下公式。
=If(D55="","",IF(C55="",NOW(),C55))
一旦在单元格D55
中输入任何内容(对于此示例),C55
将填充今天的日期和/或时间,具体取决于单元格格式。即使将新数据输入单元格C55,此日期/时间也不会再次更改,因此它显示最初输入数据的日期/时间。
这是一个循环引用公式,因此每次打开工作簿时都会收到有关它的警告。无论如何,该公式都可以在工作表中的任何位置使用,并且易于使用。
答案 1 :(得分:4)
这可以通过简单的VBA功能来完成。 Excel支持Worksheet Change Sub,可以对其进行编程,以便在每次触发时将日期放入相关列。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target.Offset(0, 3).Value = "" Then
Target.Offset(0, 3) = Format(Now(), "HH:MM:SS")
End If
End Sub
快速解释。以下" if"语句检查两件事:(1)如果它是第二列改变(列B),和(2)如果单元格3列(列E)当前是空的。
If Target.Column = 2 And Target.Offset(0, 3).Value = "" Then
如果两个条件都为真,那么它会使用NOW()
函数将日期放入E列的单元格中。
Target.Offset(0, 3) = Format(Now(), "HH:MM:SS")
答案 2 :(得分:2)
不确定这是否适用于具有功能的单元格,但我在其他地方找到了单个单元格条目的代码并将其修改以供我使用。如果操作正确,您无需担心在单元格中输入函数,或者每次打开日期时将日期更改为当天的日期。
复制/粘贴代码如下:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("D:D")) Is Nothing Then Exit Sub
Target.Offset(0, 2) = Date
End Sub
祝你好运......答案 3 :(得分:0)
我担心没有这样的功能。您需要一个宏来完成此任务。
你可以在E栏中做这样的事情(记得设置自定义格式" dd / mm / yyyy hh:mm"):
=If(B1="";"";Now())
但每次文件打开时它都会改变价值。
您需要通过宏保存值。
答案 4 :(得分:0)
您可以使用If功能 在要输入日期的单元格中写入以下公式: = IF(的改性CELLNUMBER 强><>"",IF(的 CELLNUMBER-WHERE-TO-INPUT-DATE 强> ="& #34;,NOW(),的 CELLNUMBER-WHERE-TO-INPUT-DATE 强>)"&#34)
答案 5 :(得分:0)
这是对我有用的解决方案
/usr/sbin/sendmail -t << MESSAGE_END
From:theServer
To:myEmail@domain.com
Subject:My Subject
SOMETEXT $Variable
SOMETEXT $Variable
SOMETEXT $Variable
MESSAGE_END