【问题标题】:Excel VBA script Seperate sheet by large changeExcel VBA 脚本 大变动单独工作表
【发布时间】:2015-08-07 16:07:24
【问题描述】:

背景:我最近一直在 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

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

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    运行这段代码

    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
    

    【讨论】:

    • 非常感谢@user3114645 的帮助。它适用于某些更改,但不适用于所有更改。如何更改代码正在寻找的更改?我已经编辑了我的问题,以显示您的代码似乎有些混乱。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    相关资源
    最近更新 更多