【问题标题】:VBA Excel Create a Running List of Occurences with Time StampsVBA Excel 创建带有时间戳的事件的运行列表
【发布时间】:2018-05-29 22:17:51
【问题描述】:

我有单元格“B16”,如果特定机器正在运行,则显示“1”,如果未运行,则显示“0”。这些值是实时更新的,但我想记录该值何时更改的时间戳(从 1 到 0 或反之亦然)并创建一个列表,其中下一个可用单元格填充下一个状态更改和时间戳.这样做的目的是能够确定机器何时停机、停机多长时间以及何时重新开始运行。

谢谢你, 格斯特拉达

【问题讨论】:

标签: excel vba


【解决方案1】:

仅当目标单元格 (B6) 发生更改时才会执行此代码。

当 B6 中的值发生变化时,它将发布一个时间戳(一直到第二个),从第一个实例的 B7 开始,下一个实例的 B8 开始,依此类推......

将此代码粘贴到目标单元格 (B6) 所在的工作表上。此外,您需要将“Sheet1”的所有实例更改为您的工作表名称。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range
    Set KeyCells = Range("B6")

    Dim WS As Worksheet
    Set WS = ThisWorkbook.Sheets("Sheet1")

    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
        Is Nothing Then
        Dim LRow As Integer
        LRow = WS.Range("B" & WS.Rows.Count).End(xlUp).Row
        WS.Range("B" & LRow + 1).Value = Now()
    End If
End Sub

【讨论】:

  • 我不确定如果更改事件来自外部链接,是否会启动。如果是这样,这个答案比我的要好。我写我的假设事件不会被外部引用更新触发。
猜你喜欢
  • 2019-02-06
  • 1970-01-01
  • 1970-01-01
  • 2021-04-29
  • 1970-01-01
  • 1970-01-01
  • 2016-05-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多