返回列表 上一主題 發帖

分別單獨儲存成EXCEL檔

回復 1# koala2099
  1. Option Explicit
  2. Sub Ex()  '進階篩選 + 自動篩選
  3.     Dim Rng As Range, xi As Integer
  4.      Application.ScreenUpdating = False
  5.      With ActiveSheet                     '作用中的工作表
  6.         '使用 AdvancedFilter 進階篩選 篩選不重復的資料 取得有料的倉庫------------
  7.         '參數 Action: =xlFilterCopy (複製在別的範圍)
  8.         '參數 CriteriaRange (準則範圍) ':=.Cells(1, .Columns.Count - 1).Resize(2)  準則範圍。如果省略此引數則無準則。
  9.         '準則範圍 的條件為空白為所有篩選的資料
  10.         '參數 CopyToRange  選擇性的 Variant。如果 Action 為 xlFilterCopy,此引數指定被複製列的目標範圍。否則忽略此引數。
  11.         '參數 Unique     選擇性的 Variant。若為 True,則僅篩選唯一的記錄;若為 False,則篩選出所有符合準則的記錄。預設值為 False。
  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) '倉庫別的範圍
  17.          .AutoFilterMode = False                                              '取消 這工作表的自動篩選
  18.          For xi = 2 To Rng.Count                                              '倉庫的迴圈
  19.             .[A1].AutoFilter Field:=2, Criteria1:=Rng(xi)                     '自動篩選  第2欄 中  指定 倉庫
  20.             .[A1].CurrentRegion.Copy                                          '複製自動篩選到的資料
  21.             With Workbooks.Add(1)                                             '新開活頁簿 工作表1張
  22.                 .Sheets(1).Paste                                              '第1張工作表 貼上資料
  23.                 .Sheets(1).Name = Rng(xi)                                     '第1張工作表 命名:倉庫別
  24.                 .SaveAs ThisWorkbook.Path & "\" & Rng(xi) & ".xls"            '新開活頁簿  存檔
  25.                 .Close                                                        '新開活頁簿  關閉
  26.             End With
  27.         Next
  28.         .Cells(1, .Columns.Count - 1).Resize(, 2).EntireColumn.Clear          '清除進階篩選的資料
  29.     End With
  30.     Application.ScreenUpdating = True
  31. End Sub
複製代碼

TOP

        靜思自在 : 要批評別人時,先想想自己是否完美無缺。
返回列表 上一主題