ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] §R°£­«½Æ«á¡A´M§ä­«½Æ«È¤á¸¹½X¥[Á`­È

¥»©«³Ì«á¥Ñ GBKEE ©ó 2016-10-2 09:03 ½s¿è

¦^´_ 10# Changbanana
¤£¥Î¦r¨åª«¥ó ªº¼gªk
  1. Option Explicit
  2. Sub Ex()
  3.     Dim r As Integer, Ar(), i As Integer
  4.     '*******«e¸m§@·~
  5.     With Range("A:A").CurrentRegion
  6.             'CurrentRegion :¥Ø«e°Ï°ì,¬O«ü¥H¥ô·NªÅ¥Õ¦C¤ÎªÅ¥ÕÄ檺²Õ¦X¬°Ãä¬Éªº½d³ò
  7.             .Sort key1:=.Cells(1), order1:=xlAscending, key2:=.Cells(4), order1:=xlAscending, header:=xlYes    '±Æ§Ç
  8.             .Columns(1).AdvancedFilter ACTION:=xlFilterCopy, COPYTORANGE:=Cells(1, Columns.Count), Unique:=True
  9.             '¶i¶¥¿z¿ï:¶i¶¥¤£­«½Æ¸ê®Æ,¦Ü©ó¤u§@ªíªº³Ì¥kÃ䪺Äæ¦ì
  10.     End With
  11.     '************************
  12.     r = Cells(Rows.Count, Columns.Count).End(xlUp).Row                                          '­pºâ ¿z¿ï ¸ê®Æ¼Æ («È¤á½s¸¹)
  13.     ReDim Ar(1 To r)                                                                                                    '­«¸m°}¦C¤j¤p¬° («È¤á½s¸¹)­Ó¼Æ
  14.     Ar(1) = Application.Transpose(Application.Transpose(Range("A1").Resize(, 6)))   'ªíÀY ¸m¤J°}¦C
  15.     For i = 2 To r                                                                                                             '°j°é («È¤á½s¸¹)
  16.         With Range("A:A")
  17.             .Replace Cells(i, Columns.Count), "=1/0"                                                          '±N («È¤á½s¸¹) §ï¬° ¿ù»~­È
  18.             With .SpecialCells(xlCellTypeFormulas, xlErrors).Resize(, 6)                           '¿ù»~­Èªº½d³ò
  19.                 .Columns(1) = Cells(i, Columns.Count)                                                        ' '±N  ¿ù»~­È §ï¦^ ­ì «È¤á½s¸¹
  20.                 Ar(i) = Array(.Cells(1).Value, .Cells(2).Value, .Cells(3).Value, .Cells(4).Value, Application.Sum(.Columns(5)), .Cells(.Rows.Count, 6).Value)                                                                                                                                      'Application.Sum(.Columns(5))  ¥[Á`(«È¤á½s¸¹)ªºCASH
  21.             End With
  22.         End With
  23.     Next
  24.     With Range("I1")
  25.         .Resize(r, 6).EntireColumn = ""    '²M°£Â¦³¸ê®Æ
  26.         .Resize(r, 6) = Application.Transpose(Application.Transpose(Ar))                     '½d³ò¤º¾É¤JÂà¸m2¦¸ªº°}¦C
  27.     End With
  28.     Cells(1, Columns.Count).EntireColumn = ""    '²M°£Â¦³¸ê®Æ
  29. End Sub
  30. '*********************************************************************
  31. Sub Ex1()
  32.     Dim Rng As Range, Ar(), i As Integer
  33.     '*******«e¸m§@·~
  34.     With Range("A:A").CurrentRegion
  35.             'CurrentRegion :¥Ø«e°Ï°ì,¬O«ü¥H¥ô·NªÅ¥Õ¦C¤ÎªÅ¥ÕÄ檺²Õ¦X¬°Ãä¬Éªº½d³ò
  36.             .Sort key1:=.Cells(1), order1:=xlAscending, key2:=.Cells(4), order1:=xlAscending, header:=xlYes    '±Æ§Ç
  37.     End With
  38.     '************************
  39.     i = 1
  40.     ReDim Ar(1 To i)                                                                                                    '­«¸m°}¦C¤j¤p¬° («È¤á½s¸¹)­Ó¼Æ
  41.     Ar(1) = Application.Transpose(Application.Transpose(Range("A1").Resize(, 6)))   'ªíÀY ¸m¤J°}¦C
  42.     Set Rng = Range("A2")
  43.     Do While Rng <> ""                                            '«È¤á½s¸¹ <> ""
  44.         i = i + 1
  45.         ReDim Preserve Ar(1 To i)
  46.         With Rng
  47.                 Ar(i) = Array(.Cells(1).Value, .Cells(1, 2).Value, .Cells(1, 3).Value, .Cells(1, 4).Value, .Cells(1, 5).Value, .Cells(.Rows.Count, 6).Value)
  48.         End With
  49.         Do While Rng = Rng.Offset(1)                          '¦P¤@ («È¤á½s¸¹)
  50.             Ar(i)(4) = Ar(i)(4) + Rng.Cells(1, 5)               '¥[Á`¦P¤@ («È¤á½s¸¹)ªºCASH
  51.             Ar(i)(5) = Rng.Cells(2, 6)
  52.             Set Rng = Rng.Offset(1)                                '¤U¤@­Ó«È¤á½s¸¹
  53.         Loop
  54.         Set Rng = Rng.Offset(1)                                     '¤U¤@­Ó«È¤á½s¸¹
  55.     Loop
  56.     With Range("I1")
  57.         .Resize(, 6).EntireColumn = ""    '²M°£Â¦³¸ê®Æ
  58.         .Resize(i, 6) = Application.Transpose(Application.Transpose(Ar))                     '½d³ò¤º¾É¤JÂà¸m2¦¸ªº°}¦C
  59.     End With
  60. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ¤H¥Í¤£¤@©w²y²y¬O¦n²y¡A¦ý¬O¦³¾ú½mªº±j¥´ªÌ¡AÀH®É³£¥i¥H´§´Î¡C
ªð¦^¦Cªí ¤W¤@¥DÃD