我为传感器提供了巨大的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
谢谢...
答案 0 :(得分: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