[英]VBA troubleshoot, copy one cell in one workbook to another cell in another workbook based on two criteria
我有兩本工作簿,一本是我的主要概述,另一本是我的主要工作簿的精簡副本,一個同事用來根據與共享列表中所列人員的聯系來寫筆記。
我想通過檢查同事的姓名和ID是否相同,將同事的筆記復制到適當的列中。 因此,我想確保將Mike Smith#12的筆記復制到他的行中,而不是Mike Smith#77的行中。
我的想法是做兩個循環,一個循環經過主表的每一行,然后針對該特定的主表行,循環遍歷所有筆記表行,查找ID和名稱的匹配項,並找到與之匹配的項。兩者都將注釋表中該行中的注釋復制到相應列的主表中。
這是我所擁有的:
Private Sub CommandButton1_Click()
Dim jbBook As Workbook
Dim x As Integer
Dim i As Integer
Set jbBook = Workbooks.Open("C:\...\noteWorkbook.xslx")
For i = 2 To 200
For x = 2 To 200
If Cells(i, 5) = jbBook.Worksheets(1).Cells(x, 5) Then If Cells(i, 16) = jbBook.Worksheets(1).Cells(x, 16) Then Cells(i, 52) = jbBook.Worksheets(1).Cells(i, 34)
Next x
Next i
jbBook.Close
End Sub
我相信問題在於:
If Cells(i, 5) = jbBook.Worksheets(1).Cells(x, 5) Then
嘗試將其更改為
If ActiveWorkbook.Cells(i, 5) = jbBook.Worksheets(1).Cells(x, 5) Then
我相信未引用的Cells()
導致了錯誤。 當然,您將必須更改所有這些。
您也可以考慮將If / Thens分成幾行,以提高可讀性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.