Board logo

標題: [發問] 兩個excel以上,查詢方法 [打印本頁]

作者: swtseng    時間: 2012-10-17 14:58     標題: 兩個excel以上,查詢方法

請問我有兩個excel(甲和乙)

甲是用來當資料庫使用
裡面的a欄事項次。ex1-99

乙是用來查詢的
點選項次1可查詢到甲excel內的a2-f2的資料

目前小弟的程式碼是將甲excel打開,用迴圈的方式搜尋
但當資料越來越多的時候,這樣有點慢....
還有查詢的excel增加到丙、丁、戊.....等,這樣會衝突



請問有人知道比較好的方法嗎??
作者: swtseng    時間: 2012-10-17 15:09

附上附件,感謝~~
作者: swtseng    時間: 2012-10-17 15:13

對了,我還有用過VLOOKUP函數直接指定檔案路徑及欄位

但隨著資料庫越來越大,查詢的種類也增多
用VLOOKUP函數檔案會變得很大.....


請問可以用VBA程式碼不用開檔案,直接搜尋指定的嗎??
作者: swtseng    時間: 2012-10-18 09:01

拜託.....有人可以回答我嗎??   

是不是我問得太籠統?
作者: GBKEE    時間: 2012-10-18 09:23

回復 1# swtseng
目前小弟的程式碼是將甲excel打開,用迴圈的方式搜尋
你2#的附檔是沒有VBA的檔案
作者: swtseng    時間: 2012-10-18 13:56

回復 5# GBKEE


    附件裡有兩個方法
    方法一的程式碼隨手key,所以變數沒宣告


實際在使用的情況類似,但檔案量越來越大
有時候又有連結時間上的問題,看能不能不需要開檔案,用程式碼連線讀取
作者: Hsieh    時間: 2012-10-18 14:14

回復 6# swtseng

參數資料庫查詢

    [attach]12814[/attach]
作者: swtseng    時間: 2012-10-18 15:44

受教了,我在試試看可不可以用錄的方式,以程式碼來呈現

因為路徑會做更改.......
作者: swtseng    時間: 2012-10-18 17:37

請問Hsieh版主,可以用程式碼來呈現嗎??
我用錄製的方式,出現"陣列索引超出範圍",無法執行..
作者: swtseng    時間: 2012-10-19 16:26

可以了,原本已連線的資料不可以刪除
加路徑和檔名的變數後就可以使用了

另外,這種方法,檔案就1mb以上......
不知道各位高手們,有沒有其他的方法??
作者: mark15jill    時間: 2012-10-19 17:10

本帖最後由 mark15jill 於 2012-10-19 17:11 編輯

回復 10# swtseng

比較簡略的方法..
簡單判斷

    Windows("乙.xlsm").Activate
    daa = [d2]

    ChDir "C:\Users\user\Desktop\swtseng"
    Workbooks.Open Filename:="C:\Users\user\Desktop\swtseng\甲.xlsx"
        For paa = 1 To ActiveSheet.Range("a2").CurrentRegion.Rows.Count
            If Cells(paa, 1) = daa Then
                spad = Cells(paa, 1)
                spbd = Cells(paa, 2)
                spcd = Cells(paa, 3)
                spdd = Cells(paa, 4)
                sped = Cells(paa, 5)
                spfd = Cells(paa, 6)

                Windows("乙.xlsm").Activate
                [e2] = spbd
                [f2] = spcd
                [g2] = spdd
                [h2] = sped
                [i2] = spfd
               
               
                Windows("甲.xlsx").Activate
            End If
        Next
    ActiveWorkbook.Save
    ActiveWindow.Close
作者: mark15jill    時間: 2012-10-19 17:20

上文 也可改寫成多筆資料比對,甚至可不用特定欄位對照..
作者: dakiu    時間: 2012-10-19 21:00

回復 7# Hsieh


    版大:
試過了,真的好用,但是如果是10位元只取其中5位元近似資料的話,那要怎麼做.....用星號無法替代.....謝謝了.




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)