我正在尝试创建一个跟踪生产机器停机时间的表。操作员将使用具有列停机时间的表开始和停止时间停止。每次发生事情,他们必须离开车站,我希望他们只需要在停机时间统计标题下点击空单元格,时间将出现/记录在单元格中,然后停机时间相同。
我知道=now()
如何工作,但它显示文件打开的时间,我希望它仅在选择单元格时显示。
非常感谢任何帮助!我以前从未在excel中做过这样的事情。
答案 0 :(得分:1)
你需要一些VBA。在您的VBE(alt + f11)中,转到您的工作表并使用以下内容:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Check to see if the click/selected cell is in columns A or B
If Not Intersect(Target, Range("A:B")) Is Nothing Then
'Make sure just one cell is selected:
If Target.Cells.Count = 1 Then
'Update the value
Target.Value = Now()
End If
End If
End Sub
我们正在使用Worksheet_SelectionChange()
事件。只要在放置此代码的工作表上检测到选择更改,就会触发此事件。当检测到更改时,它将测试选择是否在列A或B中。它还将测试以确保仅单击一个单元格(否则突出显示这些列将导致列中的每一行随时间更新,这会很糟糕)。如果全部通过,那么它只是将所选单元格的(目标)值设置为当前时间。