close
標題:

Excel vba 自動篩選

發問:

希望透過快速鍵可以開啟一個inputbox 供輸入文字(包含的格式 如:五 就可以找到客戶中內含王的內容)然後以客戶為準則進行自動篩選 再透過一個快速鍵解除篩選如表單為下(僅擷取一段 標題列有很多)↓項次客戶車牌 總重1張三783 425602李四011 208003王五H4- 33804李四359 118105王五281 33506李四783 400307李四328 400108王五336 355909李四Q9- 943010張三M2- ... 顯示更多 希望透過快速鍵可以開啟一個inputbox 供輸入文字(包含的格式 如:五 就可以找到客戶中內含王的內容) 然後以客戶為準則進行自動篩選 再透過一個快速鍵解除篩選 如表單為下(僅擷取一段 標題列有很多) ↓ 項次客戶車牌 總重 1張三783 42560 2李四011 20800 3王五H4- 3380 4李四359 11810 5王五281 3350 6李四783 40030 7李四328 40010 8王五336 35590 9李四Q9- 9430 10張三M2- 610 11張三349 33390 12張三241 15800 13張三620 11550 14張三011 20280 ↓ 快速鍵跳出輸入視窗 我可以打" 王五 "或只打"五" (針對客戶欄的內容進行包含 篩選) ↓ 結果如下 項次客戶車牌 總重 3王五H4- 3380 5王五281 3350 8王五336 35590 ↓ 再輸入快速鍵解除篩選 恢復原樣 更新: 謝謝cascade的回答,那請問如果我要變更篩選的欄位,不是第二欄是第四欄要如何修改? 更新 2: 喔!! 我找到了 , 但請問一下 我的資料有一萬筆以上 ,我發現好像跑不動ㄝ。

最佳解答:

aa.jpg

 

此文章來自奇摩知識+如有不便請留言告知

1.輸入關鍵字時即可查詢 2.欲顯示全部資料時按"取消"或輸入空白再按確定即可 3.VBA程式碼請參考: Sub Test() Dim Message, Title, Default, MyValue Rows("2:65536").EntireRow.Hidden = False Message = "請輸入查詢的關鍵字:" ' 設定提示訊息。 Title = "查詢人名" ' 設定標題。 Default = "張三" ' 設定預設值。 ' 顯示訊息、標題及預設值。 MyValue = Application.InputBox(Message, Title, Default) '輸入空白時會全部顯示 If MyValue = False Then Rows("2:65536").EntireRow.Hidden = False Exit Sub End If For i = 2 To Range("A65536").End(xlUp).Row If InStr(1, Cells(i, 2), MyValue) = 0 Then Cells(i, 2).EntireRow.Hidden = True End If Next i End Sub 請試試囉

其他解答:

使用 [資料] - [篩選] - [自動篩選],下拉客戶欄,按 [自訂] - [包含],然後輸入要插尋的字元即可,不用寫vba,速度也快|||||錄製隱藏一列跟取消隱藏的巨集 然後再去奇摩搜尋InStr用法 就大概會修改了 多搜尋一個VBA cells(恭喜您出師了)(您已經學會用搜尋解決自己的問題)BFC66BE0445C3814
arrow
arrow
    創作者介紹
    創作者 pxrnjl7 的頭像
    pxrnjl7

    百科全書

    pxrnjl7 發表在 痞客邦 留言(0) 人氣()