我是第一次在Excel中将字典与vba一起使用
我有一个表,其中有500k +行按时间戳顺序排序
我写了一个宏,该宏应该在新的工作表中每五分钟(五行)聚合一次,并写入第一个值diff。从零开始。
但是,由于它遍历所有500k +行,因此效率非常低。我只用了Scripting.Dictionary而不是VLOOKUP,它的运行时间不到20秒。 您是否有任何想法如何整合下面的两个宏或将其指向在线资源?
例如 表1
React Developer Tools
表2
TimeStamp | Value
00:00 | 0
00:01 | 0
00:02 | 1.004
00:03 | 1.002
00:04 | 1.006
00:05 | 1.011
聚集宏
TimeStamp | Value
00:00 | 1.004
00:05 | 1.011
查找宏
Sub Macro1()
Dim x As Integer
Sheets("New").Select
i = 2
Counter = 0
Sheets("5_min").Select
FirstOfFive = 2
Range("A1").Select
LastRow = Selection.End(xlDown).Row
Sheets("Main_1min").Select
For J = FirstOfFive To Last Row
For i = i To i + 4
Cells(i, 1).Select
If Cells(i, 1).Value = 0 Then
ActiveCell.Offset(1, 0).Select
Counter = Counter + 1
Else
StartVal = Selection.Value
GoTo 2
End If
Next i
2
Sheets("5_min").Select
Cells(J, 2).Value = StartVal
Sheets("Main_1min").Select
i = i + 5 - Counter
Counter = 0
Next J
End Sub