返回列表 上一主題 發帖

[發問] excel VBA 自動更新篩選問題

[發問] excel VBA 自動更新篩選問題

Dear all,

麻煩大家幫幫忙
我自己參考網路上的VBA語法寫了一段語法

想法是:
1.AF欄位有設定"資料驗證:待料,待生產,生產中,機台異常,結批,暫停"


2.AF欄位起初設定是將"結批"的選項勾選取消。
**** 此時AF欄位下並無資料有"機台異常"

3.若AF欄位下,選擇"結批"時,此時VBA會自動篩選

4.但AF欄位下,選擇"機台異常"時,結果也會被VBA會自動篩選掉

我要怎麼設定VBA參數
1.希望在AF欄位在做篩選時,之前勾選取消之項目會自動被篩選掉,
2.但之前未點選過的選項如設備異常,希望不要被框選取消。
error.gif

error.rar (21.16 KB)
Just do it.

回復 20# singo1232001
Dear singo1232001,
感謝您的回覆與指導歐!
我再來試試!
Thank you.
Just do it.

TOP

回復 19# n7822123

Dear n7822123,
您好!感謝您的熱心回復與指導歐!
抱歉問題我問的略為複雜。
主要就是您所提到的:想辦法記錄 "使用者不要的" 選項
感恩囉!
Just do it.

TOP

回復 23# singo1232001


這是在網路上查到的   
Application.AfterCalculate 觸發事件

https://stackoverflow.com/questions/67027407/excel-vba-instantiate-aftercalculate-event-handler-when-opening-workbook

做個簡單的範例 給大家參考一下
不過要小心設置
避免連續觸發 導致excel崩潰

TOP

本帖最後由 singo1232001 於 2021-7-26 04:51 編輯

回復 22# n7822123


    我玩出一些新花樣
1.設置了一個自動篩選的觸發事件
2.直接找出自動篩選內的資料

順便補充 全選.On=false 的時候 內部沒有資料能查
貌似照原本的方式 用字典去刪重複就可以

各位加油 先戰到這裡 愛睏了= =

error v3.zip (106.91 KB)

TOP

回復 20# singo1232001

你的我也玩一下,我把"生產中"取消篩選,再把AF欄位某一格選成 "生產中"

結果篩選條件又有"生產中"拉~~
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

本帖最後由 n7822123 於 2021-7-26 00:39 編輯

回復 20# singo1232001

哈,沒錯,好玩就好啦~

我也發現我剛剛的第7項說明不太妥當,紀錄條件用 "工作表的全域變數"比較好

隨著工作表就可擴充了 (該有的事件程式、全域變數要有)

因為主要是選不要的,篩選條件把空白納入(空白不過濾)

更新V2版本~~可自行擴充玩看看,雛形做到這樣就差不多嘍


1.任一欄點選兩下左鍵跳出表單
2.表單會自動抓該欄第2列的 "資料篩選清單",並秀出來給你選擇
3.把"要的"打勾,按確定即可完成篩選 (程式會自動記錄你"不要"的)
4.假設該欄資料沒有ItemA,但是清單有打勾,該欄多了一筆資料ItemA,也不會自動隱藏
5.支援擴充N欄,"不限AF"欄,但是若該欄地2列沒有"資料篩選清單",表單上不會有東西給你勾
6.設定條件可以紀錄到檔案關閉,亦即檔案關閉再開啟,需要重新設定
7.目前可支援2個表格,若有更多表格,請自行擴充工作表內的程式、變數即可~~
8.表單範圍大概支援秀出30個選項,再多應該顯示不出來,可自行修改表單 & 表單程式


Error_阿龍V2.rar (42.06 KB)
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

本帖最後由 singo1232001 於 2021-7-26 00:16 編輯

回復 1# jsc0518


先說明一下
我寫的很心虛
可能會有一堆奇怪bug
就當作參考 玩看看

我認為最有可能出現的bug 在於 更之後的運用
也就是當你把真實資料放入
或者操作一些範例外的資料
可能就會產生未知bug
尤其是 af欄 清除資料 或者 突然新增資料
資料記得要備份 並且 先行實際測試 各種操作 喔

另外裡面有一些累贅的程序 我沒殺掉 比如rd變數
因為我想說 可能會有bug 不敢亂刪 或者之後修改要用到

error v1.zip (27.02 KB)

TOP

本帖最後由 n7822123 於 2021-7-25 21:47 編輯

回復 18# jsc0518

這討論串還活著阿,看了一下,感覺搞複雜摟~~

只要想辦法記錄 "使用者不要的" 選項,再重新設定篩選條件就好了呀~

弄一個給你們參考看看吧,放棄原本手動用第一列篩選的功能,用表單篩選


1.任一欄點選兩下左鍵跳出表單
2.表單會自動抓第2列的 "資料篩選清單",並秀出來給你選擇
3.把"要的"打勾,按確定即可完成篩選 (程式會自動記錄你"不要"的)
4.假設該欄資料沒有ItemA,但是清單有打勾,該欄多了一筆資料ItemA,也不會自動隱藏
5.支援擴充N欄,不限"AF"欄,但是若該欄沒有"資料篩選清單",表單上不會有東西給你勾
6.設定條件可以紀錄到檔案關閉,亦即檔案關閉再開啟,需要重新設定
7.目前只支援1個表格,若要支援多表格,請自行擴充模組"儲存List",取不同模組名稱即可
   Ex:"表2儲存List"、"表3儲存List" ,如此才能記錄不同表格的 篩選條件(不要的)
8.表單範圍大概支援30個選項,再多應該顯示不出來


Error_阿龍.rar (34.21 KB)
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

回復 17# Andy2483
Dear Andy2483,
下午好!感謝您的熱心回復歐,我再來測試看看!
Thank you so much. ^^
Just do it.

TOP

        靜思自在 : 對父母要知恩,感恩、報恩。
返回列表 上一主題