- ©«¤l
- 4901
- ¥DÃD
- 44
- ºëµØ
- 24
- ¿n¤À
- 4916
- ÂI¦W
- 115
- §@·~¨t²Î
- Windows 7
- ³nÅ骩¥»
- Office 20xx
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥x¥_
- µù¥U®É¶¡
- 2010-4-30
- ³Ì«áµn¿ý
- 2024-5-19
|
¦^´_ 6# alltest
¸Õ¸Õ¬Ý
book2ªº¤@¯ë¼Ò²Õ- Sub Auto_Open()
- Dim ary(), fs$, Sh As Worksheet
- Dim ay(1), Ar, Ky, s&
- Set d = CreateObject("Scripting.Dictionary")
- fs = ThisWorkbook.Path & "\book1.xls"
- With Workbooks.Open(fs)
- With .Sheets(1)
- For Each A In .Range(.[B3], .[B3].End(xlDown))
- r = A.Row
- For Each b In .Range(.[E1], .[IV1].End(xlToLeft).Offset(, -1)).SpecialCells(xlCellTypeConstants)
- k = b.Column
- Ar = Array(.Cells(r, 2).Value, .Cells(r, 3).Value, .Cells(r, 4).Value, .Cells(r, k).Value, .Cells(r, k + 1).Value, .Cells(r, k + 2).Value)
- If IsEmpty(d(A & "-" & b)) Then
- ay(0) = Ar
- d(A & "-" & b) = ay
- Else
- ary = d(A & "-" & b)
- s = UBound(ary)
- ReDim Preserve ary(s + 1)
- ary(s) = Ar
- d(A & "-" & b) = ary
- End If
- Next
- Next
- End With
- For Each Sh In ThisWorkbook.Sheets
- With Sh
- .UsedRange.Offset(2) = ""
- Ky = .Name
- If IsArray(d(Ky)) Then
- ary = d(Ky)
- For i = 0 To UBound(ary) - 1
- .Cells(3 + i, 1).Resize(, UBound(Ar) + 1) = ary(i)
- Next
- End If
- End With
- Next
- .Close 0
- End With
- End Sub
½Æ»s¥N½X |
|