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

¤À§O³æ¿WÀx¦s¦¨EXCELÀÉ

¦^´_ 1# koala2099
  1. Option Explicit
  2. Sub Ex()  '¶i¶¥¿z¿ï + ¦Û°Ê¿z¿ï
  3.     Dim Rng As Range, xi As Integer
  4.      Application.ScreenUpdating = False
  5.      With ActiveSheet                     '§@¥Î¤¤ªº¤u§@ªí
  6.         '¨Ï¥Î AdvancedFilter ¶i¶¥¿z¿ï ¿z¿ï¤£­«´_ªº¸ê®Æ ¨ú±o¦³®Æªº­Ü®w------------
  7.         '°Ñ¼Æ Action: =xlFilterCopy (½Æ»s¦b§Oªº½d³ò)
  8.         '°Ñ¼Æ CriteriaRange (·Ç«h½d³ò) ':=.Cells(1, .Columns.Count - 1).Resize(2)  ·Ç«h½d³ò¡C¦pªG¬Ù²¤¦¹¤Þ¼Æ«hµL·Ç«h¡C
  9.         '·Ç«h½d³ò ªº±ø¥ó¬°ªÅ¥Õ¬°©Ò¦³¿z¿ïªº¸ê®Æ
  10.         '°Ñ¼Æ CopyToRange  ¿ï¾Ü©Êªº Variant¡C¦pªG Action ¬° xlFilterCopy¡A¦¹¤Þ¼Æ«ü©w³Q½Æ»s¦Cªº¥Ø¼Ð½d³ò¡C§_«h©¿²¤¦¹¤Þ¼Æ¡C
  11.         '°Ñ¼Æ Unique     ¿ï¾Ü©Êªº Variant¡C­Y¬° True¡A«h¶È¿z¿ï°ß¤@ªº°O¿ý¡F­Y¬° False¡A«h¿z¿ï¥X©Ò¦³²Å¦X·Ç«hªº°O¿ý¡C¹w³]­È¬° False¡C
  12.         .Cells(1, .Columns.Count - 1) = "aaa"             '
  13.         .Range("B:B").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Cells(1, .Columns.Count - 1).Resize(2), _
  14.          CopyToRange:=.Cells(1, .Columns.Count), Unique:=True
  15.          '------------------------------------------------------------------
  16.          Set Rng = .Columns(.Columns.Count).SpecialCells(xlCellTypeConstants) '­Ü®w§Oªº½d³ò
  17.          .AutoFilterMode = False                                              '¨ú®ø ³o¤u§@ªíªº¦Û°Ê¿z¿ï
  18.          For xi = 2 To Rng.Count                                              '­Ü®wªº°j°é
  19.             .[A1].AutoFilter Field:=2, Criteria1:=Rng(xi)                     '¦Û°Ê¿z¿ï  ²Ä2Äæ ¤¤  «ü©w ­Ü®w
  20.             .[A1].CurrentRegion.Copy                                          '½Æ»s¦Û°Ê¿z¿ï¨ìªº¸ê®Æ
  21.             With Workbooks.Add(1)                                             '·s¶}¬¡­¶Ã¯ ¤u§@ªí1±i
  22.                 .Sheets(1).Paste                                              '²Ä1±i¤u§@ªí ¶K¤W¸ê®Æ
  23.                 .Sheets(1).Name = Rng(xi)                                     '²Ä1±i¤u§@ªí ©R¦W:­Ü®w§O
  24.                 .SaveAs ThisWorkbook.Path & "\" & Rng(xi) & ".xls"            '·s¶}¬¡­¶Ã¯  ¦sÀÉ
  25.                 .Close                                                        '·s¶}¬¡­¶Ã¯  Ãö³¬
  26.             End With
  27.         Next
  28.         .Cells(1, .Columns.Count - 1).Resize(, 2).EntireColumn.Clear          '²M°£¶i¶¥¿z¿ïªº¸ê®Æ
  29.     End With
  30.     Application.ScreenUpdating = True
  31. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¡i®É¶¡¦pÆp¥Û¡j®É¶¡¹ï¤@­Ó¦³´¼¼zªº¤H¦Ó¨¥¡A´N¦pÆp¥Û¯ë¬Ã¶Q¡F¦ý¹ï·M¤H¨Ó»¡¡A«o¹³¬O¤@§âªd¤g¡A¤@ÂI»ù­È¤]¨S¦³¡C
ªð¦^¦Cªí ¤W¤@¥DÃD