最后这次了,甚么花巧都白干,最原始的方法最有效。
这次1.0703125秒,若按琉大侠帮我做的测试比例计,可能在0.65秒上下。
Sub test_most_simple()
Dim t1: t1 = Timer
Dim i%, j%, d1%, d2%, a%, b%, str$
Dim rng As Range: Set rng = Range("a1:c30000")
Dim arr(): arr = rng
For i = 1 To 30000
For j = 1 To 3
str = arr(i, j)
d1 = InStr(str, "加") + InStr(str, "减")
d2 = InStr(str, "=")
a = 1 * Left(str, d1 - 1)
b = 1 * Mid(str, d1 + 1, d2 - d1 - 1)
If InStr(str, "减") Then b = -b
arr(i, j) = Left(str, Len(str) - 2) & a + b
Next
Next
Range("e1:g30000") = arr
Range("h1") = (Timer - t1)
End Sub
