Excel 实时数据计数器(DDE 服务器)

Excel live data counter (DDE Server)

我正在使用 DDE 服务器在两列上导入 excel 上的实时数据,数据每秒都在变化。

我目前正在做的是我在单元格 A1 上有实时数据,在单元格 B1 上有实时数据 在单元格 C1 上,我有以下公式

=A1=B1

假设为真,但有时结果为假(因为单元格 A1 与单元格 B1 不匹配)

我想计算第"false"次结果在C1

我的问题是它是实时数据,几乎每秒都在变化,我的结果应该是累积的。 有人对如何在 excel 上完成有任何建议吗?

谢谢,

试一试:

Private Sub Worksheet_Calculate()

Dim Count As Long
Dim KeyCells As Range

Set KeyCells = Range("C1")

Count = 0

If IsEmpty(Range("D1").Value) = False Then
    Count = Range("D1").Value
End If


    If KeyCells.Value = False Then
        Count = Count + 1
        Range("D1").Value = Count
    End If

End Sub

注意:这里D1单元格会保存计数值,如果需要...此代码将计算返回的时间 "False" ..

感谢蒂姆 worksheet_calculate()

你需要的是Worksheet_Calculate event。每次发生计算时,都会触发此事件。

Private Sub Worksheet_Calculate()
Dim i As Long

'Check if cell C3's value is FALSE
If Cells(1, 3) = False Then
    'Loop through all customer properties of the workbook
    For i = 1 To CustomProperties.Count
        'Check if there is a property named Counter
        If CustomProperties.Item(i).Name = "Counter" Then
            'If there is, add 1 to the property's value and exit the sub
            CustomProperties.Item(i).Value = CustomProperties.Item(i).Value + 1
            Exit Sub
        End If
    Next i

    'If the customer property was not found, 
    'add it and add the value 1 to it
    CustomProperties.Add Name:="Counter", Value:=1
End If

End Sub

此代码将 custom property 添加到工作簿文件。这通过将计数器存储在文件数据中来消除工作表中的混乱。

如果计数器的值是文件中的第一个 属性(很有可能,除非您添加了更多)

,可以使用 CustomProperties.Item(1).Value 检查计数器的值