| ©«¤l4901 ¥DÃD44 ºëµØ24 ¿n¤À4916 ÂI¦W267  §@·~¨t²ÎWindows 7 ³nÅ骩¥»Office 20xx ¾\ŪÅv150 ©Ê§O¨k ¨Ó¦Û¥x¥_ µù¥U®É¶¡2010-4-30 ³Ì«áµn¿ý2025-10-31 
                
 | 
                
| ¥»©«³Ì«á¥Ñ Hsieh ©ó 2013-3-19 11:01 ½s¿è 
 ¦^´_ 11# amychlo
 
 ³o¼Ë´N«ÜÃø§PÂ_¿ù»~¥X¦bþ¸Ì
 ¥[¤J©³¤U¬õ¦r³¡¤À¬Ý¬Ý
 ¦pªGÁÙ¤£¦æ³Ì¦n±N3ÀɮפW¶Ç´ú¸Õ¬Ý¬Ý
 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))
 mystr = Mid(a, 1 / (i / 2))
 If IsEmpty(d(mystr)) Then d(mystr) = a.Offset(, IIf(i = 1, 7, 2)) Else d(mystr) = a.Offset(, IIf(i = 1, 7, 2)) - d(mystr)
 ReDim Preserve Ar(2, s)
 Ar(0, s) = mystr: Ar(1, s) = a.Offset(, IIf(i = 1, 7, 2)).Value
 s = s + 1
 Next
 ThisWorkbook.Sheets(3).[A1].Offset(, (i - 1) * 2).Resize(s, 2) = Application.Transpose(Ar)
 Erase Ar: s = 0
 End With
 End With
 .Close 0
 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
 | 
 |