A表單筆資料查詢B表(已解, 感謝register313)
- 帖子
- 5
- 主題
- 1
- 精華
- 0
- 積分
- 11
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- office2007
- 閱讀權限
- 10
- 註冊時間
- 2012-3-12
- 最後登錄
- 2013-9-15
|
A表單筆資料查詢B表(已解, 感謝register313)
本帖最後由 XDshining 於 2012-4-27 17:56 編輯
前輩們好:
我有一筆資料需要做比對,但由於資料量有上萬筆,因此用手動的方式要做很久。
在版上爬文有找到跟我的需求很類似的帖子如下:
[發問] A表每單筆資料去查詢B表 得出多列資料 複製到C表 [0613]成功嚕
也有試過上面的巨集語法去跑看看,不過跑到後來出現
『執行階段錯誤'5':
程序呼叫或引數不正確』
我想應該只是某個環節出了問題,不過我對EXCEL很不熟,所以也無從修正起。
===============
我的需求主要描述如下:
sheet1的A欄位內容會在sheet2的A欄位出現,不過sheet2的資料有上萬筆,
我想要在sheet2的A欄位找出符合sheet1的A欄位的內容,並將符合的內容sheet2的A&B欄位同時出現在sheet3。
附件是我用手動方式篩選出來的,由於還有其他筆資料要比對,因此想問問看是否有其他方式可以解決。
(原始資料就是sheet1&sheet2的內容,希望產生出sheet3的內容,之後sheet1的內容會變動)
new.rar (1023.53 KB)
簡例:
|
|
|
|
|
|
|
暱稱: 隨風飄蕩的羽毛 頭銜: [御用]潛水艇
高中生 
- 帖子
- 852
- 主題
- 79
- 精華
- 0
- 積分
- 918
- 點名
- 0
- 作業系統
- Windows 7 , XP
- 軟體版本
- Office 2007, Office 2003,Office 2010,YoZo Office
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 宇宙
- 註冊時間
- 2011-4-8
- 最後登錄
- 2024-2-21
|
6#
發表於 2012-4-30 08:06
| 只看該作者
本帖最後由 Hsieh 於 2012-4-30 08:41 編輯
回復 4# XDshining
基本上 很多人都會像你一樣,連找都沒找就發問(我之前也是><
可是實際上 這樣會造成系統資源的浪費
也會造成其他大大們的困擾..
雖說每種問題需求不同
但是解答方式大同小異....
(懺悔中 |
|
多做多想多學習,少看少錯少迷途
多做=多多練習,多多編寫。
多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
多學習=學習人家的發問並解答,學習人家的寫法
少看=只看不做也枉然
|
|
|
|
|
- 帖子
- 5
- 主題
- 1
- 精華
- 0
- 積分
- 11
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- office2007
- 閱讀權限
- 10
- 註冊時間
- 2012-3-12
- 最後登錄
- 2013-9-15
|
5#
發表於 2012-4-27 17:55
| 只看該作者
回復 3# register313
感謝r大的協助!!!(跪 |
|
|
|
|
|
|
- 帖子
- 5
- 主題
- 1
- 精華
- 0
- 積分
- 11
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- office2007
- 閱讀權限
- 10
- 註冊時間
- 2012-3-12
- 最後登錄
- 2013-9-15
|
4#
發表於 2012-4-27 17:54
| 只看該作者
回復 2# mark15jill
感謝m大的教誨, 我承認我爬的文不夠多.
透過m大的提醒我才意識到我忽略了Excel一般區裡豐富的資料, 在此先致上最深的歉意.
不過我有提到我對EXCEL真的不熟, 所以找到的類似文章中的做法, 我也還是看不太懂.
跑出來的錯誤訊息也是搞不懂它是什麼意思.
我想我對EXCEL程式還需要做更多的鑽研...抱歉讓版上的大大看笑話了 |
|
|
|
|
|
|
- 帖子
- 967
- 主題
- 0
- 精華
- 0
- 積分
- 1001
- 點名
- 0
- 作業系統
- WIN XP
- 軟體版本
- OFFICE 2003
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-11-29
- 最後登錄
- 2022-5-17
 
|
3#
發表於 2012-4-27 16:51
| 只看該作者
回復 1# XDshining - Sub aa()
- Dim Ar() As String
- Set d = CreateObject("scripting.dictionary")
- With Sheet1
- For Each A In .Range(.[A2], .[A2].End(xlDown))
- d.Add A.Value, A.Value
- Next
- End With
- With Sheet2
- C = 0
- For Each A In .Range(.[A2], .[A2].End(xlDown))
- If d.exists(A.Value) Then
- C = C + 1
- ReDim Preserve Ar(1 To 2, 1 To C)
- Ar(1, C) = A
- Ar(2, C) = A.Offset(0, 1)
- End If
- Next
- End With
- Sheet3.Rows("2:65536") = ""
- Sheet3.[A2].Resize(C, 2) = Application.Transpose(Ar)
- End Sub
複製代碼 |
|
|
|
|
|
|
暱稱: 隨風飄蕩的羽毛 頭銜: [御用]潛水艇
高中生 
- 帖子
- 852
- 主題
- 79
- 精華
- 0
- 積分
- 918
- 點名
- 0
- 作業系統
- Windows 7 , XP
- 軟體版本
- Office 2007, Office 2003,Office 2010,YoZo Office
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 宇宙
- 註冊時間
- 2011-4-8
- 最後登錄
- 2024-2-21
|
2#
發表於 2012-4-27 14:41
| 只看該作者
回復 1# XDshining
您有蒐尋過文章?
據我所知 論壇上文章類似的就有 四筆以上..
問我為啥知道,其中有一筆是我問的.. |
|
多做多想多學習,少看少錯少迷途
多做=多多練習,多多編寫。
多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
多學習=學習人家的發問並解答,學習人家的寫法
少看=只看不做也枉然
|
|
|
|
|