|
{:3912:}我也来一个,哈哈!
- Sub aa()
- Dim d1 As Object, d2 As Object
- Dim arr1, arr2
- Dim arr(1 To 30000, 1 To 4)
- Dim i&, j&
- Application.ScreenUpdating = False
- Set d1 = CreateObject("scripting.dictionary")
- Set d2 = CreateObject("scripting.dictionary")
- arr1 = Sheet1.Range("A1").CurrentRegion
- arr2 = Sheet2.Range("A1").CurrentRegion
- For i = 2 To UBound(arr1)
- d1(arr1(i, 1)) = arr1(i, 2) & vbTab & arr1(i, 3)
- Next i
- For i = 2 To UBound(arr2)
- If d1.exists(arr2(i, 2)) Then
- j = j + 1
- d2(arr2(i, 2)) = ""
- arr(j, 1) = arr2(i, 1)
- arr(j, 2) = arr2(i, 2)
- arr(j, 3) = arr2(i, 3)
- arr(j, 4) = arr2(i, 4)
- End If
- Next i
- Erase arr2
- Set d1 = Nothing
- For i = 2 To UBound(arr1)
- If Not d2.exists(arr1(i, 1)) Then
- j = j + 1
- arr(j, 2) = arr1(i, 1)
- arr(j, 3) = arr1(i, 2)
- arr(j, 4) = arr1(i, 3)
- End If
- Next i
- Erase arr1
- Set d2 = Nothing
- Sheets.Add(, Sheets(Sheets.Count)).Name = "NEW"
- Range("A1").Resize(, 4) = [{"月份","编号","学生","成绩"}]
- Range("A2").Resize(UBound(arr), 4) = arr
- Application.ScreenUpdating = True
- End Sub
复制代码
|
|