繁体   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