|
如何通过VBA快速计算,详见附件。如何通过VBA快速计算,详见附件。
- Sub Macro1()
- Dim arr, brr, d, i&
- [b:b] = ""
- Set d = CreateObject("scripting.dictionary")
- arr = Range("a1").CurrentRegion
- brr = Sheets("数据源").Range("a10").CurrentRegion
- For i = 2 To UBound(brr)
- d("'" & brr(i, 1)) = brr(i, 2)
- Next
- With CreateObject("vbscript.regexp")
- .Global = True
- .Pattern = "\w{9}"
- For i = 2 To UBound(arr)
- For Each m In .Execute(arr(i, 1))
- arr(i, 1) = Replace(arr(i, 1), m, d("'" & m))
- Next
- arr(i, 1) = Application.Evaluate(arr(i, 1))
- Next
- End With
- Range("b1").Resize(UBound(arr)) = arr
- End Sub
复制代码
|
|