標題:
A表單筆資料查詢B表(已解, 感謝register313)
[打印本頁]
作者:
XDshining
時間:
2012-4-27 12:13
標題:
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的內容會變動)
[attach]10702[/attach]
簡例:[attach]10701[/attach]
作者:
mark15jill
時間:
2012-4-27 14:41
回復
1#
XDshining
您有蒐尋過文章?
據我所知 論壇上文章類似的就有 四筆以上..
問我為啥知道,其中有一筆是我問的..
作者:
register313
時間:
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
複製代碼
作者:
XDshining
時間:
2012-4-27 17:54
回復
2#
mark15jill
感謝m大的教誨, 我承認我爬的文不夠多.
透過m大的提醒我才意識到我忽略了Excel一般區裡豐富的資料, 在此先致上最深的歉意.
不過我有提到我對EXCEL真的不熟, 所以找到的類似文章中的做法, 我也還是看不太懂.
跑出來的錯誤訊息也是搞不懂它是什麼意思.
我想我對EXCEL程式還需要做更多的鑽研...抱歉讓版上的大大看笑話了
作者:
XDshining
時間:
2012-4-27 17:55
回復
3#
register313
感謝r大的協助!!!(跪
作者:
mark15jill
時間:
2012-4-30 08:06
本帖最後由 Hsieh 於 2012-4-30 08:41 編輯
回復
4#
XDshining
基本上 很多人都會像你一樣,連找都沒找就發問(我之前也是><
可是實際上 這樣會造成系統資源的浪費
也會造成其他大大們的困擾..
雖說每種問題需求不同
但是解答方式大同小異....
(懺悔中
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)