返回列表 上一主題 發帖

VBA 資料搜尋問題

回復 39# 准提部林

請參考

TOP

回復 41# 准提部林

不知問題出在那里? 為何還是不行?

TOP

回復 43# 准提部林


准大, 想請你再幫我看一看…
我再次測試,
你第一次給的程式碼, 不論是 Data.xls  或 Data.xlsx 都可以執行

後來,在我要求增加2項玏能后:

1) 日期排序
2) 增加日期搜尋玏能

不論是 Data.xls 或 Data.xlsx 都不能執行.

在此附上2個 xls 檔, 希望可以獲得正確的答案. 謝謝!

Test again.rar (48.38 KB)

TOP

本帖最後由 Qin 於 2018-9-21 22:53 編輯

回復 45# 准提部林


     以品名"楊桃"為例,雙擊觸發, 告之都是"找不到符合的資料!" (.xls)

TOP

回復 47# 准提部林

准大,        
       
因為第2個檔有問題,根本搜尋不到資料, 唯有放棄.       
我拿回你給我的第1個檔, 再按照第2個檔的程式碼敲打進去,       
發現這段有問題       
"  xU.AutoFilter Field:=3, Criteria1:=">=" & Ur1(3), Operator:=xlAnd, Criteria2:="<=" & Ur1(4)  "       
只要不寫上這段, 就可以使用.       
但日期的搜尋功能就不管用了       
例: 填上 From Date    01/ 01/2017     to Date    "Today()"       
但它 2015 - 2016 年的資料也跑出了???       
       
麻煩你再幫我看一看…謝謝!!       


New folder1.rar (61.15 KB)

TOP

回復 49# 准提部林

准大
你給的提示, 我也去更改了多個日期格式
但是都是行不通…

後來, 嘗試只用上半句語法來執行, 想不到又可以哦!
xU.AutoFilter Field:=3, Criteria1:=">=" & Ur1(3)

也就是說, 鍵入 01/01/2016  它就只出現 2016 年至之後的資料 (雖然有些遺憾, 但至少, 是達到我想要的某部份需求)
我想唯有讓這下半句語法"Operator:=xlAnd, Criteria2:="<=" & Ur1(4)" 在一旁沉睡, 待找到厡因時, 才讓它重見天日.

因此, 請問准大,

1) 如果只用 "xU.AutoFilter Field:=3, Criteria1:=">=" & Ur1(3) " 這上半句語法, 在搜尋過程中, 對其他資料會不會有影響. (如: 資料搜尋出來不完整或搜尋速度緩慢等問題.)

2) 我用( .xls OR .xlsx) 共40萬筆資料搜尋時, 大概要花30秒的時間, 請問還可以加速嗎?

3) 在編號搜尋欄位, 例如編號是 " 20000350"  "11005710"  "10003210" 而我只需鍵入 " 2*350 " 或 " 11*5710"... 也可以把資料搜出來.
就好像 Excel 里的 find 功能, 只是不知道VBA 是否也可以做到?

TOP

回復 52# 准提部林
     
     准大, 這段語法旁的附註亂碼, 麻煩你再將它寫在留言板上. 謝謝!

        ReDim Brr(1 To 60000, 1 To 10)    '­Y¸ê®Æ·|¶W¹L6¸Uµ§,¦Û¦æ§ó§ï

TOP

回復 54# 准提部林

        准大               
                       
        我又想再請教你2個問題:               
        首先說清楚, 用你給的 "Data" 檔是沒有問題的, 但, 如使用我自己的文檔才會出現這問題.               
                       
1)        以"品名搜尋"               
        就會出現:  If Ur1(j) <> "" Then If Not Arr(i, Ur2(j)) Like Ur1(j) Then GoTo 102               
                       
        以"編號搜尋"               
        就會出現:  dd = Arr(i, 3)               
                       
        想請教是否又是因為"日期格式"的緣故.               
        如果"是", 可否請你再幫我修改, 只以"From Date" 搜尋就可以了               
                       
2)        准大, 你真的有求必應哦! 我要求以" * " 以星字鍵來做搜尋, 你也達成了我要求.               
        但是, 還有一個小小的問題,就是為何"編號 , 品名和廠商"搜尋時都必需使用 " 大字母" (Caps Lock)               
                       
        例:               
        h*1234               
        *french*               
        aa*               
        "找不到符合的資料"               
                       
        H*1234               
        *French*               
        AA*               
        搜尋結果沒問題               
                       
        可否修改成"大小字母"皆通用. 謝謝!               
                       
Search Data_180930.rar (133.7 KB)

TOP

回復 57# GBKEE

謝謝! 我會參考..

TOP

本帖最後由 Qin 於 2018-10-3 23:17 編輯

回復 56# 准提部林

        准大
       
        我又遇到問題了….
       
1)        這次是"品名搜尋"問題, 當在B2輸入搜尋條件後,就會出現
         If Ur1(j) <> "" Then If LCase(Arr(i, Ur2(j))) Like LCase(Ur1(j)) = False Then GoTo 102
       
        因為之前受到"日期格式"的困擾, 以為這次又是什麼"文字格式"
        就跑到VBE 編輯器 Tools-> Options -> Editor Format -> Font 做修改
        無意中發現之前的亂碼現象, 可以在此獲得解決.
       
2)        在 B1, B2,B3 欄, 是以"雙摯觸動"來搜尋資料, 可否改成輸 入搜尋條件後,按 Enter 就可獲得搜尋結果.
        因為感覺比較好使用.至於多條件搜尋就保留原本的方式.
        准大, 如果這個修改會有"牽一髮而動全身"的大幅度更改, 那就免了吧!
       
        謝謝!!
SearchData_181003.rar (428.06 KB)

TOP

        靜思自在 : 要用心,不要操心、煩心。
返回列表 上一主題