返回列表 上一主題 發帖

[發問] Sheet中的值,依A欄中的部門複製至新的Sheet

回復 1# JH8888
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng As Range, S As String, xi As Integer
  4.     Application.DisplayAlerts = False                                          ' Microsoft Excel 顯示特定的警告和訊息則為 True。讀/寫 Boolean
  5.     Application.ScreenUpdating = False                                         '如果螢幕更新功能是開啟的則為 True。讀/寫 Boolean。
  6.     With Sheets("Sheet1")
  7.         For xi = Sheets.Count To 1 Step -1
  8.             If Sheets(xi).Name <> .Name Then Sheets(xi).Delete                  '刪除 原有檔案 須由後往前刪
  9.         Next
  10.         If .AutoFilterMode Then .AutoFilterMode = False                         '取消篩選
  11.         .Range("a1").AutoFilter                                                 '[自動篩選] 篩選出一個清單
  12.         Set Rng = .AutoFilter.Range.Columns(1).Cells                            '[自動篩選]的第1欄
  13.         For xi = 2 To Rng.Count                                                  '處裡:  第1欄
  14.             If InStr(S, "," & Rng(xi) & ",") = False Then                        '檢查  是否已出現過
  15.             .Range("a1").AutoFilter Field:=1, Criteria1:=Rng(xi)                 '沒出現: 指定為篩選值
  16.             S = S & "," & Rng(xi) & ","                                          '加入已出現過的字串中
  17.             Sheets.Add , Sheets(Sheets.Count)                                   '新增一工作表
  18.             ActiveSheet.Name = Rng(xi)                                           '命名:篩選值
  19.             .UsedRange.SpecialCells(xlCellTypeVisible).Copy ActiveSheet.[a1]    '複製: 資料表中篩選出的資料 ->新工作表的[A1]
  20.             ActiveSheet.Cells.Columns.AutoFit                                   'AutoFit: 將範圍中的欄寬和列高調整為最適當的值。
  21.             End If
  22.         Next
  23.         .AutoFilterMode = False                                                  '取消篩選
  24.         .Activate                                                                '回到 資料表
  25.     End With
  26.     Application.ScreenUpdating = True
  27.     Application.DisplayAlerts = True
  28. End Sub
複製代碼

TOP

回復 3# JH8888
看到你附檔的 Sub Copy_Every_Sheet_To_New_Workbook()
我很好奇,你可以自己寫為何還要發問!

TOP

        靜思自在 : 能幹不幹,不如苦幹實幹。
返回列表 上一主題