|
'2W行用字典正好,,,
Option Explicit
Sub test()
Dim arr, i As Long, p As Long, t As String, dic, dt
dt = Timer
Set dic = CreateObject("scripting.dictionary")
arr = Sheets("sheet1").[a1].CurrentRegion.Resize(, 1).Value
For i = 2 To UBound(arr, 1)
dic(LCase(arr(i, 1))) = arr(i, 1)
Next
arr = Sheets("sheet2").[a1].CurrentRegion.Offset(1).Resize(, 1).Value
ReDim brr(1 To UBound(arr, 1), 1 To 1) As String
For i = 1 To UBound(arr, 1) - 1
p = InStrRev(arr(i, 1), "-") - 1
If p > 0 Then
t = LCase(Left(arr(i, 1), InStrRev(arr(i, 1), "-") - 1))
Else
t = LCase(arr(i, 1))
End If
If dic.exists(t) Then brr(i, 1) = dic(t)
Next
Debug.Print Timer - dt
Sheets("sheet2").[c2].Resize(UBound(brr, 1)) = brr
Debug.Print Timer - dt
End Sub |
评分
-
2
查看全部评分
-
|