1

我对传感器有巨大的 excel 数据性能。数据包括时间序列!并且每 5 秒记录一次。一般来说,我17281 rows的数据只有一天的记录。我需要可视化数据,但是每 5 秒的记录太清晰了,所以我想将时间序列从每 5 秒扩展到每 5 分钟!

我试图通过删除多余的行来做到这一点......

每一个5 minutes = 60 "5 second"

所以我需要删除60 row并保留61th,然后删除下一个 60 并保留第 121 个,依此类推...

我尝试使用VB代码方法,但我做不到!!!

请任何人都可以提供帮助:(

这是我录制的宏,当我尝试做前几行时......我希望它可以给出问题的一些清晰图像......


Sub MacroDeleteTest1()
'
' MacroDeleteTest1 Macro
'

'
    Rows("2:2").Select
    ActiveWindow.SmallScroll Down:=31
    Rows("2:60").Select
    Selection.Delete Shift:=xlUp
    Rows("3:3").Select
    ActiveWindow.SmallScroll Down:=34
    Rows("3:61").Select
    Selection.Delete Shift:=xlUp
    Rows("4:4").Select
    ActiveWindow.SmallScroll Down:=33
    Rows("4:62").Select
    Selection.Delete Shift:=xlUp
    Rows("5:5").Select
    ActiveWindow.SmallScroll Down:=35
    Rows("5:63").Select
    Selection.Delete Shift:=xlUp
    Rows("6:6").Select
    ActiveWindow.SmallScroll Down:=34
    Rows("6:64").Select
    Selection.Delete Shift:=xlUp
    Rows("7:7").Select
End Sub

谢谢...

4

1 回答 1

1

像这样的东西。将范围 rStart 设置为数据的第一个单元格。

Sub delete60()

Dim rStart As Range
Const cCOLF As Long = 5    ' Offset across of column F

    Set rStart = Sheet1.Range("A1")

    Do While rStart.Offset(1, 0).Value <> ""
        With Range(rStart.Offset(1, cCOLF), rStart.Offset(59, cCOLF))
            rStart.Offset(0, cCOLF).Value = Evaluate("SUM(" & .Address & ")")
            .EntireRow.Delete
        End With
        Set rStart = rStart.Offset(1, 0)
    Loop

End Sub
于 2012-09-24T13:04:43.167 回答