如何获取Excel单元格来显示选择的时间

时间:2016-06-06 18:22:49

标签: excel excel-vba time excel-formula vba

我正在尝试创建一个跟踪生产机器停机时间的表。操作员将使用具有列停机时间的表开始和停止时间停止。每次发生事情,他们必须离开车站,我希望他们只需要在停机时间统计标题下点击空单元格,时间将出现/记录在单元格中,然后停机时间相同。

我知道=now()如何工作,但它显示文件打开的时间,我希望它仅在选择单元格时显示。

非常感谢任何帮助!我以前从未在excel中做过这样的事情。

1 个答案:

答案 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中。它还将测试以确保仅单击一个单元格(否则突出显示这些列将导致列中的每一行随时间更新,这会很糟糕)。如果全部通过,那么它只是将所选单元格的(目标)值设置为当前时间。