作者sonic74768 (牛牛牛)
看板Office
標題[問題] EXCEL VBA 篩選欄位後分頁或分檔案
時間Tue May 7 14:02:01 2019
各位大大好
現在我想要用特定欄位欄的值篩選分檔案或是分頁
以下我先簡述我的方法 各位高手可以跳過
我用的方法是利用EXCEL本身的"特殊篩選"
Columns(ert & ":" & ert).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
複製到一個Transit分頁
Sheets.Add After:=ActiveSheet
Sheets(ActiveSheet.Name).Name = "transit"
Sheets("transit").Select
Range("A1").Select
ActiveSheet.Paste
然後從A1用設迴圈變數X到最後一個
For i = 2 To Sheets("transit").Range("A1").End(xlDown).Row
x = Sheets("transit").Cells(i, "A")
再回原本的工作表篩選那欄篩選並複製出去
PM53 = Range("A2").End(xlDown).Row
ActiveSheet.Range("$A$2:$" & ert & PM53).AutoFilter Field:=Range("a1:" &
ert & "1").Columns.Count, Criteria1:=x
重點在這
雖然這樣可以達到我的目的但是
在資料量很多的時候
這樣篩選在複製出去很吃資源
請問各位有沒有更有效率的方法
例如:不用用一個TRANSIT表做轉接 直接回圈指定欄位的唯一值(刪除重複)
本人都是自學依據EXCEL錄製的功能 想比較沒有效率的方法
以上問題若有不詳盡的還請大家指出來
再請各位高手幫忙
--
▁ ◢███◣ ◥◥◥◤◤◤ ╭ 幹妳媽的!!"送我便當", ╮
▉宇▏ █◤@~◥█ ◥◤◤◥◤◤ 免費送你天照牌瓦斯桶!! ╯ψindiaF4
▉智▏ ◤⊙/\⊙◥ ◤◥◤◥◥◤◤ ▄▄
▄▄ ▄▄ ▄▄ ▄▄
▉bo▏ 皿 ◥◤◤◤◤◤◥ ▌ ▌
▌ ▌ ▌ ▌ ▌ ▌ ▌ ▌
▉yo▏ ◥ ︶ ◤ ◥◤◤◥◥◥◤◤ 天 天 天 天 天
▇ ◢███◣ ◥◤◤◤◥◥◤ 照 照 照 照 照
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.18.22.195
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1557208926.A.872.html
1F:→ soyoso: 先問1.分頁是什麼?2.特殊篩選? 05/07 14:05
2F:→ soyoso: 以巨集來看,是要各別分至各個工作表內吧, 05/07 14:06
3F:→ soyoso: range.advancedfilter也不是叫特殊篩選,微軟定義是叫進階 05/07 14:08
4F:→ soyoso: 篩選 05/07 14:08
6F:→ soyoso: 取唯一值不要表格的話,dictionary、application.match看 05/07 14:21
7F:→ soyoso: 是否於變數內為錯誤、工作表函數countif是否為1或0(看是否 05/07 14:22
8F:→ soyoso: 範圍包含到迴圈所指定的列號那個儲存格)、instr看是否在已 05/07 14:23
9F:→ soyoso: 連結的字串內 05/07 14:23
10F:→ soyoso: 不要篩選range.autofilter來複製的話,排序,range.find( 05/07 14:24
11F:→ soyoso: 找到第一筆儲存格),工作表函數countif取得筆數 05/07 14:25
12F:→ soyoso: 用筆數range.resize,複製貼上方面不帶格式的話range = 05/07 14:28
13F:→ soyoso: range.value 05/07 14:28
14F:→ sonic74768: 1.分頁是指EXCEL的工作表 2.特殊篩選就是 資料 進階篩 05/07 14:52
15F:→ sonic74768: 選 不選重複的紀錄 05/07 14:52
16F:→ sonic74768: 大概知道大大的方向 先謝謝 05/07 14:54
17F:→ soyoso: 這個最近我版上有回過類似的問題,但找不到了 05/07 14:56
19F:→ soyoso: 如果要分至各檔案(活頁簿)的話,該篇內文所提供的檔案可看 05/07 14:58
20F:→ soyoso: 看;如要分至各個工作表,連結內下方回文方式調整看看 05/07 14:59