- 帖子
- 967
- 主題
- 0
- 精華
- 0
- 積分
- 1001
- 點名
- 0
- 作業系統
- WIN XP
- 軟體版本
- OFFICE 2003
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-11-29
- 最後登錄
- 2022-5-17
 
|
本帖最後由 register313 於 2012-3-4 23:57 編輯
- Sub Filter()
- Sheets("總表").Select
- C = Sheets("總表").[B65536].End(xlUp).Row
- D = Sheets("資料庫").[E65536].End(xlUp).Row
- Rng2 = Sheets("資料庫").Range("E4:E" & D)
- With Sheets("總表")
- For Each R In Rng2
- For Each sh In ThisWorkbook.Sheets
- Application.DisplayAlerts = False
- If sh.Name = R Then
- sh.Delete
- End If
- Application.DisplayAlerts = True
- Next
- Set sh = Sheets.Add(after:=Sheets(Sheets.Count))
- sh.Name = R
- .Range("B4:O" & C).AutoFilter Field:=3, Criteria1:=R
- If .FilterMode Then
- .AutoFilter.Range.SpecialCells(12).Copy Sheets(R).Cells(3, 2)
- .Rows("2:3").Copy Sheets(R).Cells(2, 1)
- End If
- Sheets(R).Select
- For Each A In Range("D4:D" & [D65536].End(xlUp).Row)
- If A <> "" Then
- A.Offset(0, -2) = A.Row - 3
- End If
- Next
- Next
- .Range("B4:O" & C).AutoFilter
- End With
- End Sub
複製代碼 |
|