|
Sub Macro1()
On Error Resume Next
Dim arr, brr, crr, d, wb As Workbook, i&, j&, zf$$
Application.ScreenUpdating = False
Set d = CreateObject("scripting.dictionary")
arr = Range("a2").CurrentRegion
ReDim brr(1 To UBound(arr) - 1, 1 To UBound(arr, 2) - 1)
Set wb = GetObject(ThisWorkbook.Path & "\源文件.xls")
crr = wb.Sheets(3).usedrange
wb.Close 0
For i = 2 To UBound(crr)
For j = 2 To UBound(crr, 2)
zf = crr(i, 1) & "," & crr(1, j)
d(zf) = crr(i, j)
Next
Next
For i = 2 To UBound(arr)
For j = 2 To UBound(arr, 2)
zf = arr(1, j) & "," & arr(i, 1)
brr(i - 1, j - 1) = d(zf)
Next
Next
Range("b3").Resize(UBound(brr), UBound(brr, 2)) = brr
Application.ScreenUpdating = True
End Sub |
|