[算表] 多資料欄位跨檔案條件判斷

作者: ahow0917 (小白)   2016-09-10 02:16:56
軟體: EXCEL
版本: 2010
檔案1 test.xlsm
檔案2 date.xls
以檔案1的欄位以搜尋的的方法來找尋是否有出現在檔案2
附上程式碼
Sub FindAddress()
Dim s As Integer
Dim r As Integer
Dim GCell, txt As Range
Dim MySheet As String
'路徑
MyPath = "d:\test\"
'檔案名稱
MyWB = "date.xls"
MySheet = ActiveSheet.Name
'關顯示開唯讀
Application.ScreenUpdating = False
Workbooks.Open Filename:=MyPath & MyWB, ReadOnly:=True
e = 5
For r = 17 To 36
i = r
Set txt = Cells(r, e)
Set GCell = ActiveSheet.Cells.Find(What:=txt)
If Not GCell Is Nothing Then
With ThisWorkbook.ActiveSheet.Range("f" & (i))
.Value = "ok"
End With
Else
With ThisWorkbook.ActiveSheet.Range("f" & (i))
.Value = "no"
End With
End If
Next r
'開顯示不存檔
ActiveWorkbook.Close savechanges:=False
Application.ScreenUpdating = True
End Sub
問題1:無法指定檔案1的欄位來做搜尋,他都會跳到檔案2欄位做為搜尋的條件
請問是我哪裡寫錯了嗎??
問題2:因為檔案2會以月份做為工作表,所以之後會輸入的工作表至少會有12頁,
這樣開檔搜尋之後又關檔效率會好嗎?
請各位多多指教~~~謝謝!!
作者: soyoso (我是耀宗)   2016-09-10 07:15:00
問題1,原cells(r,e),前加上thisworkbook.activesheet 試試
作者: ahow0917 (小白)   2016-09-10 16:33:00
s大~加上去就可以了,可是如果有是空格他還是會判定是成功,我有加上lookin:=xlvalues lookin:=xlwhole還是一樣,空格的問題有可以解嗎??謝謝
作者: soyoso (我是耀宗)   2016-09-10 16:44:00
有空格是指,如"a "去找"a"的話是可以找到嗎?
作者: ahow0917 (小白)   2016-09-10 16:58:00
空格的意思是搜尋欄位是沒資料的假如後面有10筆的欄位是沒有打入資料的他也會判定成功
作者: soyoso (我是耀宗)   2016-09-10 17:07:00
那加上個判斷尋找目標如沒資料則不執行range.find的部分
作者: ahow0917 (小白)   2016-09-10 17:28:00
請問有相關範本可以參考嗎??是要if等於 "" 然後就直接跳出嗎這樣嗎??
作者: soyoso (我是耀宗)   2016-09-10 17:38:00
如原po回文,為""時則不執行range.find,再執行其他部分
作者: ahow0917 (小白)   2016-09-10 19:11:00
我先寫看看~~先感謝神S的指導~~
作者: waiter337 (給開司一罐蘇格登)   2016-09-10 23:54:00
你先做個測試 先別用vba先手動 確定 兩筆資料是否相同 有可能都一樣的文字 缺不同的資料卻是不同的資料我會建議你把檔案傳上來問題一 一定可以指定 甚至可以套入迴圈 甚至自己抓檔名連指定檔案都不用問題二 其實要看資料的概況甚至只要有一個表 多個月份欄位,基本上12張合成一張都無所謂,除非你一個月分的資料破2萬筆但反過來說 甚至你可以用年當資料分類其實是我會比較用土一點但比較不會錯的方式用vba把檔案二的資料貼到檔案ㄧ的某個頁面,在做分析同時開啟12個檔案當然會很慢,我會建議,你把ActiveWorkbook.Close savechanges:=FalseApplication.ScreenUpdating = TrueEnd SubEnd sub 不用這幾行 放入迴圈中 每次處理完就關掉就好啦
作者: ahow0917 (小白)   2016-09-11 03:40:00
問題在於我連第一個都解不出來了QQ問題2不合併的原因在於他是在做出貨的查詢,只要有出貨他要查到是否有打入,所以我才會用find去做而已
作者: waiter337 (給開司一罐蘇格登)   2016-09-11 04:07:00
你把檔案po上來直接讓我們改比較快 畢竟問題 不是單一函數
作者: ahow0917 (小白)   2016-09-11 16:47:00
應該星期2我也還沒解出來~~QQ
作者: soyoso (我是耀宗)   2016-09-11 18:22:00
http://imgur.com/a/X1Zx8 要產生這樣的結果嗎?
作者: ahow0917 (小白)   2016-09-11 23:41:00
對~~感謝神S的神支援,小弟在此叩謝!!!

Links booklink

Contact Us: admin [ a t ] ucptt.com