簡體   English   中英

VBA進行故障排除,根據兩個條件將一個工作簿中的一個單元格復制到另一個工作簿中的另一個單元格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM