- ©«¤l
- 4901
- ¥DÃD
- 44
- ºëµØ
- 24
- ¿n¤À
- 4916
- ÂI¦W
- 277
- §@·~¨t²Î
- Windows 7
- ³nÅ骩¥»
- Office 20xx
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥x¥_
- µù¥U®É¶¡
- 2010-4-30
- ³Ì«áµn¿ý
- 2024-12-23
|
¦^´_ 5# amychlo
¬Q¤Ñ¦]¬°½×¾ÂªººÏºÐ°}¦C¥X°ÝÃD¡A¿ò¥¢¤F¸ê®Æ¡A«·s¦^´_- Sub ·J¾ã()
- Dim Ar()
- Set d = CreateObject("Scripting.Dictionary")
- fd = ThisWorkbook.Path & "\" '3ÓÀɮשñ¦b¦P¥Ø¿ý¤¤
- 'fd="D:\" '«ü©wA¡BB2Àɮתº¦s©ñ¥Ø¿ý
- fs = Array("A.xls", "B.xls")
- d("³W®æ") = "¼Æ¶q"
- For Each f In fs
- With Workbooks.Open(fd & f)
- With .Sheets(1)
- i = i + 1
- ReDim Preserve Ar(2, s)
- Ar(0, s) = "³W®æ": Ar(1, s) = "¼Æ¶q"
- s = s + 1
- .UsedRange.Copy ThisWorkbook.Sheets(i).[A1]
- With ThisWorkbook.Sheets(i)
- For Each a In .Range(.[B2], .[B2].End(xlDown))
- If IsEmpty(d(Right(a, 2))) Then d(Right(a, 2)) = a.Offset(, IIf(i = 1, 3, 2)) Else d(Right(a, 2)) = a.Offset(, IIf(i = 1, 3, 2)) - d(Right(a, 2))
- ReDim Preserve Ar(2, s)
- Ar(0, s) = Right(a, 2): Ar(1, s) = a.Offset(, IIf(i = 1, 3, 2)).Value
- s = s + 1
- Next
- Sheets(3).[A1].Offset(, (i - 1) * 2).Resize(s, 2) = Application.Transpose(Ar)
- Erase Ar: s = 0
- End With
- End With
- .Close
- End With
- Next
- With Sheets(3)
- .[E1].Resize(d.Count, 1) = Application.Transpose(d.keys)
- .[F1].Resize(d.Count, 1) = Application.Transpose(d.items)
- End With
- End Sub
½Æ»s¥N½X |
|