|
本帖最后由 56681873 于 2020-10-30 21:31 编辑
这一段代码为什么不对呢?
Sub 总分()
Dim d2 As Object, brr3, arr3, aRes1(), aRes2(), LastRow&, i&, k&, Temp&
Set d2 = CreateObject("scripting.dictionary")
LastRow = Sheets("未放").Cells(Rows.Count, 1).End(xlUp).Row
arr3 = Sheets("总分").Range("a1:d35")
brr3 = Sheets("未放").Range("f2:f" & LastRow)
For i = 1 To UBound(arr3) '这里操作前提是参数有没有重复值的情况
d2(arr3(i, 1)) = i
Next
ReDim aRes1(1 To UBound(brr3), 1 To 1)
ReDim aRes2(1 To UBound(brr3), 1 To 1)
For i = 1 To UBound(brr3)
Temp = d2(brr3(i, 1))
If Temp <> 0 Then '只呈现参数中能匹配的
k = k + 1
aRes1(k, 1) = arr3(Temp, 4)
aRes2(k, 1) = arr3(Temp, 3)
End If
Next
Sheets("未放").[h2].Resize(k, 1) = aRes1
Sheets("未放").[g2].Resize(k, 1) = aRes2
Set d2 = Nothing
End Sub
|
|