作者kk04014 (阿助)
看板Visual_Basic
標題[VBA ]跨工作表查詢
時間Mon Mar 7 14:28:06 2016
請問一下各位,我現在想把第一個工作表cells(i,3)的序號在第二個工作表
第四欄做查詢,如果第二個工作表第四欄的序號跟第一個工作表第三欄的序號相同,
則把第一個工作表cells(i,3)~cells(i,13)複製貼到第二個工作表對應的欄位中。
但卻出現需要物件的錯誤訊息,請大家幫忙看一下 謝謝
Sub cusip()
Dim i As Integer
Dim cn As Integer
Dim rng As Range
Sheets("sheet1").Select
For i = 2 To 842
Set aa = sheet2.Cells.Find(what:=sheet1.Cells(i, 3), LookIn:= _
xlValues, LookAt:=xlPart,
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext,
MatchCase:=False).Activate
Next
If aa = Cells(i, 3).Value Then
Let cn = rng.Find("aa").Column
Range(Cells(i, 3), Cells(i, 13)).Select
Selection.Copy
Sheets("sheet2").Select
Range(Cells(cn, 4), Cells(cn + 4, 4)).Select
Selection.Paste
Else
End If
End Sub
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.22.18.105
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1457332088.A.5B4.html
※ 編輯: kk04014 (163.22.18.105), 03/07/2016 14:29:39
※ 編輯: kk04014 (163.22.18.105), 03/07/2016 14:33:38
3F:→ kk04014: 不是耶!第三欄和第四欄的值是位於不同列 03/07 18:33
5F:→ MashiroX421: 那麼第三欄的值是否都是唯一且不重複呢? 03/07 18:50
6F:→ kk04014: 是的 03/07 20:58
10F:→ MashiroX421: 請在Copy那裡加底線,即是 Copy _ 03/07 22:59
11F:→ kk04014: 同樣是destination那行語法錯誤 03/07 23:07
可以請問DESSTINATION那行
E&application.Match(Worksheets("sheet1").Range("C" & i)的意思嗎?
因為我現在雖然能跑了,但是這個程式幾乎沒效,根本沒有貼過去
※ 編輯: kk04014 (163.22.18.73), 03/07/2016 23:47:01
13F:→ MashiroX421: 測試下原PO的語法發現,在Cells(i,3),Cells(i,13) 03/07 23:43
14F:→ MashiroX421: 這段會產生錯誤,因此改用Range來判斷 03/07 23:45
15F:→ MashiroX421: 那段Copy語法是將前面那部份的儲存格貼到目標儲存格 03/07 23:49
18F:→ MashiroX421: 引號之間要留一個空白,另外下方Sheet2要小寫 03/08 00:04
19F:→ MashiroX421: Range("C" & i & "M" & i) 03/08 00:05
20F:→ kk04014: 只有一兩個有成功貼過去,其他都沒有耶 03/08 00:16