¨Ì«ü©wÄæ¦ì¤¤ªº¸ê®Æ¦Û°Ê§P©w¿é¤J¹ïÀ³ªºÀɮ׸ê®Æ¤¤???
- ©«¤l
- 5923
- ¥DÃD
- 13
- ºëµØ
- 1
- ¿n¤À
- 5986
- ÂI¦W
- 0
- §@·~¨t²Î
- win10
- ³nÅ骩¥»
- Office 2010
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥xÆW°ò¶©
- µù¥U®É¶¡
- 2010-5-1
- ³Ì«áµn¿ý
- 2022-1-23
        
|
¦^´_ 1# p6703
¸Õ¸Õ¬Ý- Option Explicit
- Sub Ex()
- Dim D As Object, Ar(1 To 11), Ay(), xi As Integer, K, Wb As Workbook
- Set D = CreateObject("Scripting.Dictionary")
- xi = 2
- With ThisWorkbook.Sheets("SHEET1")
- Do While .Cells(xi, "M") <> ""
- Ar(1) = .Cells(xi, "C") 'Ar(1)->Ar(11) = AÄæ:KÄæ
- Ar(4) = .Cells(xi, "F") '«ü©w¤£³sÄòªºÄæ¦ì ¨ì«ü©w¦ì¸m
- Ar(5) = .Cells(xi, "J")
- Ar(6) = .Cells(xi, "B")
- Ar(8) = .Cells(xi, "D")
- Ar(9) = .Cells(xi, "E")
- Ar(11) = .Cells(xi, "H")
- If Not D.exists(.Cells(xi, "M").Value) Then '¦r¨åª«¥ó ªºKEY ¤£¦s¦b
- D(.Cells(xi, "m").Value) = Array(Ar) '¦r¨åª«¥óªºitem «ü©w¬°°}¦C
- Else '¦r¨åª«¥óªºKEY¦s¦b
- Ay = D(.Cells(xi, "M").Value) 'Ay=¦r¨åª«¥óªºITEM
- ReDim Preserve Ay(UBound(Ay) + 1) '°}¦Cªº¤¸¯À¤º®e¤£ÅÜ,·s¼W¤@Ó¤¸¯À
- Ay(UBound(Ay)) = Ar '·s¼W¤@Ó¤¸¯À «ü©w¬° Ar
- D(.Cells(xi, "m").Value) = Ay '¦r¨åª«¥óªºITEM=Ay°}¦C
- End If
- xi = xi + 1
- Loop
- End With
- For Each K In D.keys
- If K = 1202 Then Set Wb = Workbooks("A.xls") 'Àɮפw¶}±Ò
- 'If K = 1202 Then Set Wb = Workbooks.Open("¸ô®| \A.xls") 'ÀÉ®×¥¼¶}±Ò
- If K = 1205 Then Set Wb = Workbooks("B.xls")
- If K = 1206 Then Set Wb = Workbooks("C.xls")
- xi = Application.CountA(Wb.Sheets(1).Range("A:A")) + 1
- Ay = Application.Transpose(Application.Transpose(D(K)))
- Wb.Sheets(1).Cells(xi, "A").Resize(UBound(Ay, 1), UBound(Ay, 2)) = Ay
- Wb.Close True 'Ãö³¬ÀÉ®×: ¦sÀÉ
- Next
- End Sub
½Æ»s¥N½X |
|
|
|
|
|
|
- ©«¤l
- 5923
- ¥DÃD
- 13
- ºëµØ
- 1
- ¿n¤À
- 5986
- ÂI¦W
- 0
- §@·~¨t²Î
- win10
- ³nÅ骩¥»
- Office 2010
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥xÆW°ò¶©
- µù¥U®É¶¡
- 2010-5-1
- ³Ì«áµn¿ý
- 2022-1-23
        
|
¦^´_ 3# p6703 - Option Explicit
- Sub Ex()
- Dim D As Object, Dwb As String, Ar(1 To 11), Ay(), xi As Integer, K, Wb As Workbook
- Dim W As Workbook
- Set D = CreateObject("Scripting.Dictionary")
- xi = 2
- With ThisWorkbook.Sheets("SHEET1")
- Do While .Cells(xi, "M") <> ""
- Ar(1) = .Cells(xi, "C") 'Ar(1)->Ar(11) = AÄæ:KÄæ
- Ar(2) = IIf(.Cells(xi, "A") = "OS" Or .Cells(xi, "A") = "IS", 2, "") 'Ar(1)->Ar(11) = AÄæ:KÄæ
- 'BÄæ¦ì¨Ì¨Ó·½¸ê®Æ¬°IS©ÎOS§Y¦Û°Ê¶ñ¤J2¡A§_«h¤@«ß¬°ªÅ¥Õ
- Ar(4) = .Cells(xi, "F") '«ü©w¤£³sÄòªºÄæ¦ì ¨ì«ü©w¦ì¸m
- Ar(5) = .Cells(xi, "J")
- Ar(6) = .Cells(xi, "B")
- Ar(8) = .Cells(xi, "D")
- Ar(9) = .Cells(xi, "E")
- Ar(11) = .Cells(xi, "H")
- If Not D.exists(.Cells(xi, "M").Value) Then '¦r¨åª«¥ó ªºKEY ¤£¦s¦b
- D(.Cells(xi, "m").Value) = Array(Ar) '¦r¨åª«¥óªºitem «ü©w¬°°}¦C
- Else '¦r¨åª«¥óªºKEY¦s¦b
- Ay = D(.Cells(xi, "M").Value) 'Ay=¦r¨åª«¥óªºITEM
- ReDim Preserve Ay(UBound(Ay) + 1) '°}¦Cªº¤¸¯À¤º®e¤£ÅÜ,·s¼W¤@Ó¤¸¯À
- Ay(UBound(Ay)) = Ar '·s¼W¤@Ó¤¸¯À «ü©w¬° Ar
- D(.Cells(xi, "m").Value) = Ay '¦r¨åª«¥óªºITEM=Ay°}¦C
- End If
- xi = xi + 1
- Loop
- End With
- For Each K In D.keys
- If K = 1202 Then Dwb = "A.xls" '«ü©wÀÉ®×
- If K = 1205 Then Dwb = "B.xls"
- If K = 1206 Then Dwb = "C.xls"
- Set Wb = Nothing
- 'Nothing ÃöÁä¦r¬O¥Î¨Ó±N¤@Óª«¥óÅܼƱq¤@Ó¹ê»Úªºª«¥óùؤÀÂ÷¶}¨Ó¡C¨Ï¥Î Set ³¯z¦¡¥i«ü©w Nothing µ¹ª«¥óÅܼÆ
- For Each W In Workbooks
- If W.Name = Dwb Then Set Wb = Workbooks(Dwb): Exit For 'Àɮצs¦b ³]©wÅܼÆ
- Next '
- If Wb Is Nothing Then Set Wb = Workbooks.Open(ThisWorkbook.Path & "\" & Dwb) 'Àɮפ£¦s¦b ³]©wÅܼÆ
- xi = Application.CountA(Wb.Sheets(1).Range("A:A")) + 1
- Ay = Application.Transpose(Application.Transpose(D(K)))
- Wb.Sheets(1).Cells(xi, "A").Resize(UBound(Ay, 1), UBound(Ay, 2)) = Ay
- Wb.Close True 'Ãö³¬ÀÉ®×: ¦sÀÉ
- Next
- End Sub
½Æ»s¥N½X PS ½Ð«ö¦^ÂÐÁä ,½×¾Â·|³qª¾§Ú¦³¦^ÂЪº©«¤l |
|
|
|
|
|
|