Excel VBA脚本按大变化分隔工作表

时间:2014-03-13 04:28:47

标签: excel vba excel-vba

背景:我最近在Excel中使用过VBA脚本。我的RC收音机仅为每天生成日志文件。所以我可能在同一个电子表格中有三个会话。告诉一个会话开始和另一个会话开始的方法是查看“时间”列,其中增量通常小于一秒

我发现您可以使用VBA脚本将数据分隔到单独的工作表中。

如果从前一个值的变化超过几秒,是否可以通过列读取Excel并执行操作?

Time of Day  Rudder ...
15:33:08.5   -1
15:33:08.7   ...
15:33:08.9
15:33:09.2
16:31:45.3 <
16:31:45.5
16:31:45.8
16:31:46.0
16:31:46.2

在上面的数据样本中,我希望VBA在我标记的行中分割,因为上面一行的增量大于10秒。

编辑:在选择了我想要分析的时间列之后,我在我的一个电子表格上运行了代码。它适用于此:

15:33:08.720
15:33:08.940
15:33:09.150
16:31:45.320  Changes
16:31:45.530

但它也显示出一个变化:

16:31:58.780    
16:31:59.000    
16:31:59.200    
16:31:59.420    
16:31:59.620    Changes
16:31:59.840    
16:32:00.040

这很奇怪,因为在其他地方,变化是.2秒,但没有标记为变化!

1 个答案:

答案 0 :(得分:0)

运行此代码

Sub testing()
    Dim erange As Range



For Each erange In Selection

    va = Split(erange.Text, ":")
    va2 = Split(erange.Offset(1, 0).Text, ":")

    If va(1) <> va2(1) Then

    erange.Offset(1, 1).Value = "Changes"

    End If

    Next erange
    End Sub