關於寫巨集程式自動篩選判斷區的代碼複製成該代碼單獨活頁簿
- 帖子
- 2842
- 主題
- 10
- 精華
- 0
- 積分
- 2898
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2025-4-28
|
篩選法!!!
Sub Macro1()
Dim xArea As Range, i&, T$, TT$, Sht As Worksheet
Set xArea = Range([B4], Cells(Rows.Count, "B").End(xlUp)(1, 4))
For i = 2 To xArea.Rows.Count
T = xArea(i, 1): Set Sht = Nothing
If T = "" Or InStr(TT & "/", "/" & T & "/") Then GoTo 101
On Error Resume Next: Set Sht = Sheets(T): On Error GoTo 0
If Sht Is Nothing Then Set Sht = Sheets.Add(After:=Sheets(Sheets.Count))
Sht.Name = T: Sht.UsedRange.Clear
With xArea
.Parent.Select
.AutoFilter Field:=1, Criteria1:=T
.Copy Sht.[B4]
End With
TT = TT & "/" & T
101: Next i
ActiveSheet.AutoFilterMode = False
End Sub |
|
|
|
|
|
|
- 帖子
- 2842
- 主題
- 10
- 精華
- 0
- 積分
- 2898
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2025-4-28
|
本帖最後由 准提部林 於 2016-2-22 12:06 編輯
回復 15# lpk187
完全正確, 謝謝大出力解釋!
InStr(TT & "/", "/" & T & "/") 用"/'分隔,可以清楚分別 A AA AAA 或 A1 A11 A111,而不會誤判!!
而且理論上,工作表名稱不會有"/"字元,若用其它符號,就要考慮工作表表名稱是否含有這個符號,
例如:用"-"分隔,就可能對 1-1 1-11 1-111 相似工作表誤判!! |
|
|
|
|
|
|
- 帖子
- 2842
- 主題
- 10
- 精華
- 0
- 積分
- 2898
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2025-4-28
|
回復 24# 千暉尋
哈!這是加深記憶的方法,
學vba,從錯誤中去修正,是好方法的!!! |
|
|
|
|
|
|