標題:
[發問]
資料庫抓取問題請教
[打印本頁]
作者:
rouber590324
時間:
2015-12-8 15:31
標題:
資料庫抓取問題請教
DEAR ALL 大大
1. SHEET1 之 A欄 A1=羅 A2=張 A3=王
SHEET2 之 A1=羅 B1=1
A2=羅 B2=2
A3=王 B3=3
A4=羅 B2=4
2.如何於 SHEET1 之 A欄為KEY 找出 SHEET2 之 ALL 符合之內容抓至 SHEET1之 B1 C1 D1 ....
2.1 此理 SHEET1 之 B1=1 C1=2 D1=4
B2=空白
B3=3
3.公司無法傳檔.煩不吝賜教.
作者:
yen956
時間:
2015-12-9 12:46
試試看:
Private Sub CommandButton1_Click()
Dim Sh1 As Worksheet, Sh2 As Worksheet
Dim Rng1 As Range, Cel As Range, Fst As String
Dim I As Integer, Cnt As Integer, R1 As Integer
Set Sh1 = Sheets("Sheet1")
Set Sh2 = Sheets("Sheet2")
Sh1.[B1:P10] = ""
R1 = Sh1.[A65536].End(xlUp).Row
For I = 1 To R1
Set Rng1 = Sh1.Cells(I, 1)
Cnt = 0
Set Cel = Sh2.[A:A].Find(Rng1, After:=Sh2.[A65536], Lookat:=xlWhole) 'A欄中尋找
If Not Cel Is Nothing Then
Fst = Cel.Address '保存第一個位址
Do
Cnt = Cnt + 1
Rng1.Offset(, Cnt) = Cel.Offset(, 1)
Set Cel = Sh2.[A:A].FindNext(Cel) '尋找下一個
Loop Until Fst = Cel.Address '回到第一個位址
End If
Next
End Sub
複製代碼
[attach]22765[/attach]
作者:
rouber590324
時間:
2015-12-9 14:48
DEAR yen956 大大
TEST OK THANKS*10000
作者:
c_c_lai
時間:
2015-12-9 17:36
本帖最後由 c_c_lai 於 2015-12-9 17:41 編輯
回復
1#
rouber590324
回復
2#
yen956
將 Set Cel = Sh2.[A:A].Find(Rng1, After:=Sh2.[A65536], Lookat:=xlWhole) 的
Sh2.[A:A] 修改為 Sh2.[A:F],就不需要再將 E7:F11 區塊內容搬移至 A5:B9。
即 Set Cel = Sh2.[A:F].Find(Rng1, After:=Sh2.[A65536], Lookat:=xlWhole)
一次會抓取 A1:F11 範圍的區塊內容來處理。
[attach]22775[/attach]
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)